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)