輪廓係數分析
輪廓係數分析可以用來衡量每個觀測值相對於其他叢集,與其被分配的叢集有多相似。這個指標(silhouette width)在你的資料中對每個觀測值的範圍是 -1 到 1,可解讀如下:
- 接近 1 表示該觀測值與被分配的叢集相當契合。
- 接近 0 表示該觀測值介於兩個叢集之間、邊界不明確。
- 接近 -1 表示該觀測值可能被分到錯誤的叢集。
在本練習中,你會使用 cluster 函式庫中的 pam() 與 silhouette() 進行輪廓係數分析,來比較 k = 2 與 k = 3 的模型結果。你將繼續使用 lineup 資料集。
請仔細觀察輪廓圖:當 k = 3 時,每個觀測值是否都清楚屬於其被分配的叢集?
本練習屬於課程
R 的叢集分析
練習說明
- 使用
pam()在lineup資料上建立 k-means 模型pam_k2,設定k = 2。 - 使用
plot(silhouette(model))繪製輪廓係數分析圖。 - 針對
k = 3重做前兩個步驟,並將模型儲存為pam_k3。 - 在繼續之前,務必比較兩張圖的差異(特別是
pam_k3中的觀測值 3)。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
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