始める無料で始める

穀物のクラスタ数を求める

ビデオでは、k-meansのSSEのグラフを使ってデータセットのクラスタ数を決める方法を学びました。ここでは、穀物のサンプルの測定値(面積、周囲、長さなど)を含む配列samplesが与えられています。このデータセットに適したクラスタ数はいくつでしょうか。

KMeansとPyPlot(plt)はすでにインポート済みです。

このデータセットはUCI Machine Learning Repository から取得しました。

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

Pythonで学ぶ教師なし学習

コースを見る

演習の手順

  • kの値それぞれについて、以下の手順を実行してください。
  • k個のクラスタを持つKMeansインスタンスを作成し、modelという名前を付けてください。
  • モデルを穀物データsamplesにフィットさせます。
  • modelinertia_属性の値をリストinertiasに追加してください。
  • ksinertiasをプロットするコードはすでに入力されているので、解答を送信してプロットを確認してください。

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

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

ks = range(1, 6)
inertias = []

for k in ks:
    # Create a KMeans instance with k clusters: model
    ____
    
    # Fit model to samples
    ____
    
    # Append the inertia to the list of inertias
    ____
    
# Plot ks vs inertias
plt.plot(ks, inertias, '-o')
plt.xlabel('number of clusters, k')
plt.ylabel('inertia')
plt.xticks(ks)
plt.show()
コードを編集して実行