始める無料で始める

最適なクラスター数を見つける

ここでは、誤差二乗和(SSE)の減少が小さくなる地点を見つけるために、elbow(ひじ)法を使って最適なクラスター数を特定します。これは、テストを始める際の妥当なクラスター数を数学的に見積もるうえで重要なステップです。複数の k(クラスター数)について KMeans を実行し、各 k に対する誤差をプロットして、減少が緩やかになる「ひじ」の位置を見極めます。

KMeanssklearn.cluster から読み込まれており、seabornsnsmatplotlib.pyplotplt として読み込まれています。スケーリング済みのデータセットは、pandas の DataFrame として wholesale_scaled_df に読み込まれています。

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

Pythonで学ぶマーケティングのための機械学習

コースを見る

演習の手順

  • 空の sse 辞書を作成します。
  • k を 1 から 11 の範囲で変化させて KMeans を学習し、誤差を sse 辞書に保存します。
  • プロットにタイトルを追加します。
  • X 軸にキー、Y 軸に値をとる散布図を作成し、チャートを表示します。

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

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

# Create empty sse dictionary
sse = {}

# Fit KMeans algorithm on k values between 1 and 11
for k in ___(1, 11):
    kmeans = ___(n_clusters=___, random_state=333)
    kmeans.___(wholesale_scaled_df)
    sse[k] = kmeans.inertia_

# Add the title to the plot
plt.___('Elbow criterion method chart')

# Create and display a scatter plot
sns.pointplot(x=list(sse.___()), y=list(sse.___()))
plt.___()
コードを編集して実行