Phân tích silhouette
Phân tích silhouette cho phép bạn tính mức độ tương đồng của từng quan sát với cụm được gán so với các cụm khác. Chỉ số này (silhouette width) dao động từ -1 đến 1 cho mỗi quan sát trong dữ liệu và được hiểu như sau:
- Giá trị gần 1 cho thấy quan sát phù hợp tốt với cụm được gán
- Giá trị gần 0 cho thấy quan sát đang ở ranh giới giữa hai cụm
- Giá trị gần -1 cho thấy quan sát có thể bị gán sai cụm
Trong bài tập này, bạn sẽ dùng các hàm pam() và silhouette() từ thư viện cluster để thực hiện phân tích silhouette nhằm so sánh kết quả của các mô hình với k = 2 và k = 3. Bạn sẽ tiếp tục làm việc với bộ dữ liệu lineup.
Hãy chú ý kỹ biểu đồ silhouette: với k = 3, mỗi quan sát có thực sự thuộc rõ ràng về cụm được gán không?
Bài tập này là một phần của khóa học
Phân cụm bằng R
Hướng dẫn bài tập
- Tạo mô hình k-means
pam_k2bằngpam()vớik = 2trên dữ liệulineup. - Vẽ phân tích silhouette bằng
plot(silhouette(model)). - Lặp lại hai bước đầu cho
k = 3, lưu mô hình làpam_k3. - Trước khi tiếp tục, hãy xem kỹ sự khác nhau giữa các biểu đồ (đặc biệt là quan sát 3) cho
pam_k3.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
library(cluster)
# Generate a k-means model using the pam() function with a k = 2
pam_k2 <- pam(___, k = ___)
# Plot the silhouette visual for the pam_k2 model
plot(silhouette(___))
# Generate a k-means model using the pam() function with a k = 3
pam_k3 <- ___
# Plot the silhouette visual for the pam_k3 model