始める無料で始める

k-means法:エルボー分析

前の演習ではデンドログラムを使用して3つのクラスターを提案しました。この演習では、k-meansのエルボープロットを活用して、「最適な」クラスター数を提案します。

この演習はコースの一部です

Rによるクラスター分析

コースを見る

演習の手順

  • map_dbl() を使用して、oes データに対して k の値を1から10まで変化させながら kmeans() を実行し、各モデルからクラスター内平方和の合計の値(model$tot.withinss)を抽出しましょう。 結果のベクトルを tot_withinss として保存してください。
  • k の値とクラスター内平方和の合計のベクトルを含む新しいデータフレーム elbow_df を作成しましょう。
  • elbow_df の値を使用して、kクラスター内平方和の合計の関係を示す折れ線グラフを描画しましょう。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Use map_dbl to run many models with varying value of k (centers)
tot_withinss <- map_dbl(1:10,  function(k){
  model <- kmeans(x = ___, centers = ___)
  model$tot.withinss
})

# Generate a data frame containing both k and tot_withinss
elbow_df <- data.frame(
  k = ___,
  tot_withinss = ___
)

# Plot the elbow plot
ggplot(elbow_df, aes(x = ___, y = ___)) +
  geom_line() +
  scale_x_continuous(breaks = 1:10)
コードを編集して実行