Cơ bản về phân cụm phân cấp

Phân cụm trong Python

Shaumik Daityari

Business Analyst

Tạo ma trận khoảng cách bằng linkage

scipy.cluster.hierarchy.linkage(observations, 
                                method='single', 
                                metric='euclidean', 
                                optimal_ordering=False
)
  • method: cách tính độ gần của cụm
  • metric: thước đo khoảng cách
  • optimal_ordering: sắp xếp điểm dữ liệu tối ưu
Phân cụm trong Python

Nên dùng phương pháp nào?

  • 'single': dựa trên hai đối tượng gần nhất
  • 'complete': dựa trên hai đối tượng xa nhất
  • 'average': dựa trên trung bình cộng của tất cả đối tượng
  • 'centroid': dựa trên trung bình hình học của tất cả đối tượng
  • 'median': dựa trên trung vị của tất cả đối tượng
  • 'ward': dựa trên tổng bình phương sai số
Phân cụm trong Python

Tạo nhãn cụm với fcluster

scipy.cluster.hierarchy.fcluster(distance_matrix, 
                                 num_clusters,
                                 criterion
)
  • distance_matrix: đầu ra của linkage()
  • num_clusters: số cụm
  • criterion: cách đặt ngưỡng để tạo cụm
Phân cụm trong Python

Phân cụm phân cấp với phương pháp ward

Phân cụm trong Python

Phân cụm phân cấp với phương pháp single

Phân cụm trong Python

Phân cụm phân cấp với phương pháp complete

Phân cụm trong Python

Điểm chốt khi chọn phương pháp

  • Không có một phương pháp đúng cho mọi trường hợp
  • Cần hiểu rõ phân phối dữ liệu
Phân cụm trong Python

Hãy thử làm bài tập

Phân cụm trong Python

Preparing Video For Download...