機械学習記13日目 ~ k平均法

 それでは、k平均法をscikit-learnで試したいと思います。scikit-learnには、cluster.KMeansクラスがあり、k平均法によるクラスタリングを実行できます。書式は、図1のようになります。

f:id:hackU0001:20190304122330p:plain

f:id:hackU0001:20190304121451p:plain

図1.KMeansの書式

 

クラスタリングの実施

 今回は、irisデータセットを3つのクラスに分割します。最初にirisデータセットをロードして、正解の分類を確認しておきます。

f:id:hackU0001:20190304122833p:plain

 このように、irisデータセットには3種類のアヤメデータ(ラベル0×50個、ラベル1×50個、ラベル2×50個)が入っています。それでは、KMeansの学習モデルにirisの計測データだけを渡して、うまく3つのクラスタに分離できるか試してみたいと思います。

f:id:hackU0001:20190304123705p:plain

 これで、irisデータセットをk平均法によって、3つのクラスに分けました。クラスタリングの結果のラベルを表示してみます。

f:id:hackU0001:20190304123943p:plain

 ラベル番号は、最初に割り当てたランダムな番号なので正解とは異なりますが、だいたい最初の50個がクラスタ1、次の50個がクラスタ0に分割できるみたいです。