シルエット分析
シルエット分析を使うと、各観測値が割り当てられたクラスターに対して、他のクラスターと比べてどれだけ適合しているかを数値化できます。この指標(シルエット幅)は、データ内の各観測値について -1 から 1 の範囲で表され、次のように解釈します。
- 1 に近い値:観測値が割り当てられたクラスターによく適合している
- 0 に近い値:観測値が2つのクラスターの境界付近に位置している
- -1 に近い値:観測値が誤ったクラスターに割り当てられている可能性がある
この演習では、cluster ライブラリの pam() 関数と silhouette() 関数を使って、k = 2 と k = 3 のモデルをシルエット分析で比較します。引き続き lineup データセットを使用しましょう。
シルエットプロットをよく確認してください。k = 3 の場合、各観測値は割り当てられたクラスターに明確に属しているでしょうか?
この演習はコースの一部です
Rによるクラスター分析
演習の手順
lineupデータに対してpam()を使い、k = 2で k-means モデルpam_k2を作成します。plot(silhouette(model))を使ってシルエット分析を可視化します。- 同じ手順を
k = 3でも繰り返し、モデルをpam_k3として保存します。 - 次に進む前に、2つのプロットの違いをよく確認しましょう(特に
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