始める無料で始める

複数の k で複数のモデルを作成する

lineup データセットでは k の値が明確にわかっていますが、実際には最適なクラスター数が事前にわからないことも多く、推定する必要があります。

この演習では、purrr ライブラリの map_dbl() を使って、k の値を 1 から 10 まで変化させながら k-means を実行し、それぞれのモデルからクラスター内平方和の合計を取り出します。これは、エルボープロットを可視化するための最初のステップです。

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

Rによるクラスター分析

コースを見る

演習の手順

  • map_dbl() を使って、lineup データに対して k の値を 1 から 10 まで変えながら kmeans() を実行し、各モデルからクラスター内平方和の合計model$tot.withinss)を取り出しましょう。 結果のベクトルを tot_withinss として保存してください。
  • k の値とクラスター内平方和の合計のベクトルを含む新しいデータフレーム elbow_df を作成しましょう。

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

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

library(purrr)

# 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 = ___
)
コードを編集して実行