二乗誤差の合計(SSE)を計算する
この演習では、クラスター数を1から15まで変化させながら、二乗誤差の合計(SSE)を計算します。ここでは、ひじ(elbow)をより読み取りやすくするために、カスタム作成したデータセットを使用します。
正規化済みデータは data_normalized として読み込まれています。scikit-learn の KMeans モジュールはすでにインポート済みです。また、SSEを格納する空の辞書 sse = {} を初期化しています。
コンソールでデータを自由に確認してかまいません。
この演習はコースの一部です
Pythonで学ぶカスタマーセグメンテーション
演習の手順
- KMeans を学習し、
kを1から15の範囲で変化させて各kの SSE を計算します。 - KMeans はクラスター数を
k、乱数シードを 1 で初期化します。 - 正規化済みデータセットに対して KMeans を適合させます。
- 二乗距離の合計を
sse辞書のキーkに代入します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Fit KMeans and calculate SSE for each k
for k in range(____, ____):
# Initialize KMeans with k clusters
kmeans = ____(n_clusters=____, random_state=1)
# Fit KMeans on the normalized dataset
kmeans.____(data_normalized)
# Assign sum of squared distances to k element of dictionary
sse[____] = kmeans.____