始める無料で始める

シルエット分析

シルエット分析を使うと、各観測値が割り当てられたクラスターに対して、他のクラスターと比べてどれだけ適合しているかを数値化できます。この指標(シルエット幅)は、データ内の各観測値について -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

コードを編集して実行