Những tiêu chí dừng cho phân cụm phân cấp kết tụ được sử dụng trong thực tế?


32

Tôi đã tìm thấy tài liệu bao quát đề xuất tất cả các loại tiêu chí (ví dụ Glenn et al. 1985 (pdf) và Jung et al. 2002 (pdf)). Tuy nhiên, hầu hết trong số này không dễ thực hiện (ít nhất là theo quan điểm của tôi). Tôi đang sử dụng scipy.cluster.hierarchy để có được hệ thống phân cấp cụm và bây giờ tôi đang cố gắng quyết định làm thế nào để hình thành các cụm phẳng từ đó. Mục tiêu của tôi là khám phá các mô hình phổ biến trong các quan sát của tôi, vì vậy tôi không có tài liệu tham khảo để so sánh các cụm thu được với. Bất cứ ai có thể đề nghị một giải pháp thực dụng?


Trên trang web của tôi, có bộ sưu tập zip "Tiêu chí phân cụm" với mô tả (và các chức năng SPSS) của một số tiêu chí phân cụm nội bộ phổ biến (quy tắc dừng). Để biết thông tin của bạn.
ttnphns

Câu trả lời:


18

Mục nhập Wikipedia sau đây thực sự làm rất tốt công việc giải thích các phương pháp phổ biến nhất và tương đối đơn giản:

Các Elbow Phương pháp dựa trên kinh nghiệm mô tả ở đó có lẽ là do phổ biến nhất để giải thích đơn giản của nó (lượng phương sai giải thích bằng số cụm) kết hợp với việc kiểm tra thị giác. Các thông tin phương pháp lý thuyết là không khó để thực hiện một trong hai và trang có một số giả bạn có thể sử dụng để bắt đầu. Loại thứ hai là không phù hợp với khả năng bị phạt dựa trên mức độ phức tạp của mô hình như trong các tiêu chí thông tin nổi tiếng như AIC, BIC, v.v.


Cảm ơn! Bài viết Wikipedia về phân cụm phân cấp không liên kết với bài viết đó.
Bjorn Pollex

2
Ô đung rôi. Đã sửa lỗi trong liên kết "xem thêm", cảm ơn bạn đã chỉ ra điều đó!
ars

Trong Phương pháp khuỷu tay, điều gì xảy ra nếu các đối tượng được phân cụm khá "phức tạp"? Ý tôi là chúng không phải là những điểm đơn giản, thay vào đó chúng là những tập hợp dữ liệu phức tạp. Tôi đã tìm ra họ khoảng cách cặp (khoảng cách tự xác định). Làm thế nào tôi có thể tính toán cái gọi là "phương sai" ở đây để áp dụng Phương pháp khuỷu tay?
Đánh bạc Sibbs

17

Thật khó để cung cấp một giải pháp rõ ràng về cách chọn số cụm "tốt nhất" trong dữ liệu của bạn, bất kể phương pháp phân cụm nào bạn sử dụng, bởi vì Phân tích cụm tìm cách cô lập các nhóm đơn vị thống kê (cho dù đó là cá nhân hay biến số ) cho mục đích thăm dò hoặc mô tả, về cơ bản. Do đó, bạn cũng phải giải thích đầu ra của sơ đồ phân cụm của bạn và một số giải pháp cụm có thể thú vị như nhau.

Bây giờ, liên quan đến các tiêu chí thống kê thông thường được sử dụng để quyết định khi nào nên dừng để tổng hợp dữ liệu, như được chỉ ra bởi @ars hầu hết là các tiêu chí hướng dẫn trực quan , bao gồm phân tích dendrogram hoặc kiểm tra hồ sơ cụm, còn được gọi là sơ đồ hình bóng (Rousseeuw, 1987) . Một số tiêu chí số , còn được gọi là chỉ số hiệu lực, cũng được đề xuất, ví dụ như chỉ số hiệu lực của Dunn, chỉ số hợp lệ của Davies-Bouldin, chỉ số C, gamma của Hubert, để nêu tên một số. Phân cụm theo phân cấp thường được chạy cùng với phương tiện k (trên thực tế, một số trường hợp của phương tiện k vì nó là thuật toán ngẫu nhiên), do đó, nó hỗ trợ thêm cho các giải pháp phân cụm được tìm thấy. Tôi không biết liệu tất cả những thứ này có sẵn trong Python hay không, nhưng một số lượng lớn các phương thức có sẵn trong R (xem phầnCụmChế độ xem tác vụ , đã được @mbq trích dẫn cho một câu hỏi liên quan, Công cụ nào có thể được sử dụng để áp dụng thuật toán phân cụm trên MovieLens? ). Các cách tiếp cận khác bao gồm phân cụm mờphân cụm dựa trên mô hình (còn được gọi là phân tích đặc điểm tiềm ẩn , trong cộng đồng tâm lý học) nếu bạn tìm kiếm cách mạnh mẽ hơn để chọn số lượng cụm trong dữ liệu của mình.

BTW, tôi vừa xem qua trang web này, cụm scipy , một phần mở rộng cho Scipy để tạo, trực quan hóa và phân tích các cụm phân cấp . Có lẽ nó bao gồm các chức năng khác? Tôi cũng đã nghe nói về PyChem cung cấp những thứ khá hay để phân tích đa biến.

Các tài liệu tham khảo sau đây cũng có thể hữu ích:

Steinley, D., & Brusco, MJ (2008). Lựa chọn các biến trong phân tích cụm: Một so sánh thực nghiệm của tám thủ tục. Tâm lý học , 73 , 125-144.


Cảm ơn câu trả lời tuyệt vời này! Trong thực tế, mô-đun phân cụm phân cấp mà bạn đã hiển thị đã là một phần của scipy. Ngoài ra, scipy cung cấp việc triển khai các phương tiện k, vì vậy tôi có thể dễ dàng sử dụng nó.
Bjorn Pollex

Ok, tôi đã không nhìn vào chi tiết về điều này. Đối với phương tiện k, bạn cần chú ý đến thực tế là chúng ta thường cần hai vòng ngoài để xác thực giải pháp cụm (một trong đó bạn thay đổi # cụm và một cụm khác để thay đổi hạt giống - mục tiêu là giảm thiểu RSS); sau đó bạn có thể sử dụng thống kê Gap để chọn # cụm tối ưu.
chl

5

Gần đây tôi đã trở thành quỹ của phương pháp trực quan clustergram (được thực hiện trong R).

Tôi sử dụng nó cho một phương pháp bổ sung để đánh giá số cụm "tốt". Việc mở rộng nó sang các phương thức phân cụm khác không quá khó (tôi thực sự đã làm nó, chỉ không được xuất bản mã)

văn bản thay thế

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.