Phương pháp khuỷu tay phân cụm phân cấp Python
Việc xác định số cụm tối ưu trong tập dữ liệu là một vấn đề cơ bản trong phân cụm phân vùng, chẳng hạn như phân cụm k-mean, yêu cầu người dùng chỉ định số cụm k sẽ được tạo Show
Thật không may, không có câu trả lời dứt khoát cho câu hỏi này. Số lượng cụm tối ưu theo cách nào đó mang tính chủ quan và phụ thuộc vào phương pháp được sử dụng để đo lường sự tương đồng và các tham số được sử dụng để phân vùng. Trong chương này, chúng tôi sẽ mô tả các phương pháp khác nhau để xác định số lượng cụm tối ưu cho k-mean, k-medoids (PAM) và phân cụm theo thứ bậc Các phương pháp này bao gồm phương pháp trực tiếp và phương pháp kiểm tra thống kê
Ngoài các phương pháp thống kê khuỷu tay, hình bóng và khoảng cách, còn có hơn ba mươi chỉ số và phương pháp khác đã được xuất bản để xác định số lượng cụm tối ưu. Chúng tôi sẽ cung cấp mã R để tính toán tất cả 30 chỉ số này nhằm quyết định số lượng cụm tốt nhất bằng cách sử dụng “quy tắc đa số” Đối với mỗi phương pháp này
nội dung sách liên quanHướng dẫn thực hành về phân tích cụm trong Rphương pháp khuỷu tayNhớ lại rằng, ý tưởng cơ bản đằng sau các phương pháp phân vùng, chẳng hạn như phân cụm theo phương tiện k, là xác định các cụm sao cho tổng biến thể bên trong cụm [hoặc tổng bình phương bên trong cụm (WSS)] được giảm thiểu. Tổng WSS đo lường mức độ nhỏ gọn của cụm và chúng tôi muốn nó càng nhỏ càng tốt Phương pháp Elbow xem tổng WSS là một hàm của số lượng cụm. Người ta nên chọn một số cụm để việc thêm một cụm khác không cải thiện tốt hơn nhiều so với tổng WSS Số lượng cụm tối ưu có thể được xác định như sau
Lưu ý rằng, phương pháp khuỷu tay đôi khi không rõ ràng. Một phương pháp thay thế là phương pháp bóng trung bình (Kaufman và Rousseeuw [1990]) cũng có thể được sử dụng với bất kỳ phương pháp phân cụm nào Phương pháp bóng trung bìnhPhương pháp hình bóng trung bình chúng ta sẽ được mô tả toàn diện trong thống kê xác thực cụm chương. Tóm lại, nó đo lường chất lượng của một cụm. Nghĩa là, nó xác định mức độ tốt của từng đối tượng nằm trong cụm của nó. Chiều rộng hình bóng trung bình cao cho thấy sự phân cụm tốt Phương pháp bóng trung bình tính toán bóng trung bình của các quan sát cho các giá trị khác nhau của k. Số cụm k tối ưu là số tối đa hóa hình bóng trung bình trên một loạt các giá trị có thể có của k (Kaufman và Rousseeuw 1990) . Thuật toán tương tự như phương pháp khuỷu tay và có thể được tính toán như sau
Phương pháp thống kê khoảng cáchThống kê khoảng cách đã được xuất bản bởi R. Tibshirani, G. Walther và T. Hastie (Đại học Stanford, 2001). Cách tiếp cận có thể được áp dụng cho bất kỳ phương pháp phân cụm nào Thống kê khoảng cách so sánh tổng số trong biến thể trong cụm đối với các giá trị khác nhau của k với các giá trị dự kiến của chúng trong phân phối tham chiếu null của dữ liệu. Ước tính của các cụm tối ưu sẽ là giá trị tối đa hóa thống kê khoảng cách (i. e, mang lại thống kê khoảng cách lớn nhất). Điều này có nghĩa là cấu trúc phân cụm khác xa với sự phân bố điểm đồng đều ngẫu nhiên Thuật toán hoạt động như sau
Lưu ý rằng, sử dụng B = 500 cho kết quả khá chính xác để biểu đồ khoảng cách về cơ bản không thay đổi sau một lần chạy khác Tính toán số lượng cụm bằng RTrong phần này, chúng tôi sẽ mô tả hai chức năng để xác định số cụm tối ưu
Gói R bắt buộcChúng tôi sẽ sử dụng các gói R sau
Để cài đặt các gói, gõ cái này
Tải các gói như sau
Chuẩn bị dữ liệuChúng tôi sẽ sử dụng dữ liệu USArrests làm tập dữ liệu demo. Chúng tôi bắt đầu bằng cách chuẩn hóa dữ liệu để làm cho các biến có thể so sánh được
hàm fviz_nbclust(). Phương pháp thống kê Elbow, Silhouette và GapĐịnh dạng đơn giản hóa như sau
Mã R bên dưới xác định số cụm tối ưu cho phân cụm k-means
Theo những quan sát này, có thể xác định k = 4 là số cụm tối ưu trong dữ liệu Nhược điểm của phương pháp khuỷu tay và hình bóng trung bình là, chúng chỉ đo lường một đặc điểm phân cụm toàn cầu. Một phương pháp tinh vi hơn là sử dụng thống kê khoảng cách cung cấp quy trình thống kê để chính thức hóa heuristic khuỷu tay/hình bóng để ước tính số lượng cụm tối ưu hàm NbClust(). 30 chỉ số để chọn số cụm tốt nhấtĐịnh dạng đơn giản hóa của hàm NbClust() là
Mã R bên dưới tính toán NbClust() cho phương tiện k Ở đây, có những nội dung bị ẩn đối với các thành viên không phải trả phí. Đăng ký ngay bây giờ để đọc tất cả các nội dung cao cấp của chúng tôi và được cấp chứng chỉ hoàn thành khóa học.
Theo quy tắc đa số, số cụm tốt nhất là 2 Bản tóm tắtTrong bài viết này, chúng tôi đã mô tả các phương pháp khác nhau để chọn số lượng cụm tối ưu trong một tập dữ liệu. Các phương pháp này bao gồm khuỷu tay, hình bóng và phương pháp thống kê khoảng cách Chúng tôi đã trình bày cách tính toán các phương thức này bằng cách sử dụng hàm R fviz_nbclust() [gói R trên thực tế]. Ngoài ra, chúng tôi đã mô tả gói NbClust(), gói này có thể được sử dụng để tính toán đồng thời nhiều chỉ số và phương pháp khác để xác định số lượng cụm Sau khi chọn số cụm k, bước tiếp theo là thực hiện phân cụm phân vùng như mô tả tại. k-nghĩa là phân cụm Người giới thiệuCharrad, Malika, Nadia Ghazzali, Véronique Boiteau và Azam Niknafs. 2014. “NbClust. Gói R để xác định số lượng cụm có liên quan trong tập dữ liệu. ” Tạp chí Phần mềm Thống kê 61. 1–36. http. //www. jstatsoft. org/v61/i06/giấy Kaufman, Leonard và Peter Rousseeuw. 1990. Tìm nhóm trong dữ liệu. Giới thiệu về phân tích cụm Đề xuất cho bạnPhần này chứa các tài nguyên khoa học dữ liệu và phát triển bản thân tốt nhất để giúp bạn trên con đường của mình Coursera - Các khóa học và chuyên môn trực tuyếnKhoa học dữ liệu
Các khóa học phổ biến ra mắt vào năm 2020
Các khóa học thịnh hành
FBA AmazonMáy bán hàng tuyệt vời
Sách - Khoa học dữ liệusách của chúng tôi
Khác
Đánh giá xu hướng phân cụm (Bài trước) (Bài học tiếp theo) Thống kê xác thực cụm. Phương pháp phải biết Quay lại Khái niệm xác thực cụmBình luận ( 14 )
Đưa ra nhận xétBạn muốn gửi một vấn đề với R? . Cách bao gồm các ví dụ tập lệnh R có thể tái tạo trong Datanovia Nhận xét Bạn có thể sử dụng phương pháp khuỷu tay để phân cụm theo cấp bậc không?Trong K-Means, số lượng cụm tối ưu được tìm thấy bằng phương pháp khuỷu tay. Trong phân cụm theo thứ bậc, chương trình dendro được sử dụng cho mục đích này . Các dòng mã dưới đây vẽ một dendrogram cho tập dữ liệu của chúng tôi.
Phương pháp khuỷu tay trong Python là gì?Phương pháp khuỷu tay chạy phân cụm k-means trên tập dữ liệu cho một phạm vi giá trị của k (giả sử từ 1-10) và sau đó tính điểm trung bình cho mỗi giá trị của k . Theo mặc định, điểm biến dạng được tính toán, tổng của các khoảng cách bình phương từ mỗi điểm đến tâm được chỉ định của nó. . By default, the distortion score is computed, the sum of square distances from each point to its assigned center.
Phương pháp khuỷu tay được sử dụng như thế nào trong phân cụm?Trong phân tích cụm, phương pháp khuỷu tay là một heuristic được sử dụng để xác định số lượng cụm trong tập dữ liệu. Phương pháp này bao gồm vẽ đồ thị biến thể được giải thích dưới dạng hàm của số lượng cụm và chọn khuỷu tay của đường cong làm số lượng cụm sẽ sử dụng .
Làm cách nào để tìm số cụm tối ưu trong Python phân cụm theo cấp bậc?Để có được số cụm tối ưu cho phân cụm theo cấp bậc, chúng tôi thực hiện sử dụng chương trình dendro là biểu đồ dạng cây hiển thị trình tự hợp nhất hoặc tách cụm. If two clusters are merged, the dendrogram will join them in a graph and the height of the join will be the distance between those clusters. |