穀物データの階層的クラスタリング
動画では、SciPyのlinkage()関数を使ってサンプルの配列に対して階層的クラスタリングを実行する方法を学びました。ここでは、linkage()関数を使って穀物サンプルの階層的クラスタリングを求め、dendrogram()を使って結果を可視化しましょう。穀物の測定データのサンプルは配列samplesに、それぞれの穀物サンプルの品種はリストvarietiesに格納されています。
この演習はコースの一部です
Pythonで学ぶ教師なし学習
演習の手順
- 以下をインポートしてください。
scipy.cluster.hierarchyからlinkageとdendrogram- 別名
pltをつけてmatplotlib.pyplot method='complete'というキーワード引数を指定してlinkage()関数を使い、samplesに対して階層的クラスタリングを実行してください。結果をmergingsに割り当ててください。mergingsに対してdendrogram()関数を使い、デンドログラムを作成してください。キーワード引数としてlabels=varieties、leaf_rotation=90、leaf_font_size=6を指定してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Perform the necessary imports
from ____ import ____, ____
import ____ as ____
# Calculate the linkage: mergings
mergings = ____
# Plot the dendrogram, using varieties as labels
dendrogram(____,
labels=____,
leaf_rotation=____,
leaf_font_size=____,
)
plt.show()