Mô hình phân cụm kết tụ
Thuộc phần Học không giám sát trong hành trình Machine Learning của Coddy. Bài học 17 trên 51.
Xe hơi lấp đầy hai bãi đỗ xe, còn một hàng xe nối dọc con đường ở giữa. Có hai cách gộp thành 2 cụm:
scikit-learn thực hiện việc gộp cụm. Cho biết khi nào cần dừng bằng n_clusters:
from sklearn.cluster import AgglomerativeClustering
model = AgglomerativeClustering(n_clusters=2, linkage="ward")
labels = model.fit_predict(X)linkage quyết định khoảng cách giữa hai nhóm:
"ward", mặc định: giữ các nhóm gần nhau"complete": cặp xa nhau nhất"average": khoảng cách trung bình của tất cả các cặp"single": cặp gần nhau nhất
Single tạo thành các chuỗi: ở đây, con đường nuốt chửng cả hai bãi đỗ xe. Ward tạo ra các nhóm tròn, đồng đều.
Thử thách
Trung bìnhDâu tây dại mọc thành ba cụm, cùng với một vài cây dọc theo lối đi. Phương pháp liên kết nào tìm ra các cụm? plants lưu vị trí của chúng.
- Với mỗi phương pháp liên kết trong
linkages, hãy phân cụm cây thành 3 nhóm. - In kích thước các nhóm dưới dạng danh sách, theo thứ tự từ lớn nhất đến nhỏ nhất.
- Khi nhóm lớn nhất có hơn một nửa số cây, hãy thêm
chained.
Với một đồng cỏ khác:
ward: [40, 38, 31]
complete: [41, 37, 31]
average: [41, 37, 31]
single: [86, 22, 1] chainedTự làm thử
import numpy as np
import pandas as pd
from sklearn.cluster import AgglomerativeClustering
# Vị trí của 109 cây dâu tây dại trên đồng cỏ (tính bằng mét): ba cụm và một lối đi
rng = np.random.default_rng(4)
plants = np.round(np.concatenate([
rng.normal([2, 3], 0.8, size=(40, 2)),
rng.normal([9, 4], 1.0, size=(35, 2)),
rng.normal([6, 10], 0.9, size=(25, 2)),
np.column_stack([np.linspace(3, 8, 9), np.linspace(3.2, 4, 9)]) + rng.normal(0, 0.15, size=(9, 2)),
]), 2)
linkages = ["ward", "complete", "average", "single"]
# Viết code bên dưới
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Học không giám sát
1Tìm các nhóm
Học không cần nhãnĐo độ tương đồngTự thực hiện K-MeansK-Means trong scikit-learnÔn tập: thành viên phòng gym7PCA trong thực tế
Quan sát 64 chiềuCác thành phần như mẫu hìnhNén và dựng lạiPCA trước khi xây dựng mô hìnhÔn tập: máy quét khuôn mặt10Dự án: Khám phá chữ số
Quan sát các chữ sốThu gọn bằng PCAPhân cụm chữ sốĐặt tên cho các cụmTìm những chữ số khác biệt2Chọn k
Quán tínhPhương pháp khuỷu tayĐiểm số SilhouetteChuẩn hóa thang đo trước khi phân cụmÔn tập: Các vùng giao hàngTự luyện tập: Trình biên dịch Python online