均一なクラスタリングパターン
シードの影響に慣れてきたところで、k-means クラスタリングが均一なクラスタを作りやすいというバイアスについて見ていきましょう。
次の演習では、マウス型のデータセットを使います。マウス型のデータセットとは、マウスの頭部に似た点群のことで、顔と左右の耳に相当する3つの円形のクラスタから構成されます。
こちらが典型的なマウス型データセットの例です(出典)。
データは pandas の DataFrame mouse に格納されています。x_scaled と y_scaled は、各データ点の標準化済み X 座標と Y 座標の列名です。
この演習はコースの一部です
Pythonで学ぶクラスタ分析
演習の手順
- SciPy から
kmeansとvq関数をインポートします。 kmeans()関数でクラスタ数を3としてクラスタ中心を生成します。- 上で生成したクラスタ中心を使って
vq()でクラスタラベルを作成します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Import the kmeans and vq functions
____
# Generate cluster centers
cluster_centers, distortion = ____
# Assign cluster labels
mouse['cluster_labels'], distortion_list = ____
# Plot clusters
sns.scatterplot(x='x_scaled', y='y_scaled',
hue='cluster_labels', data = mouse)
plt.show()