Pythonで学ぶ教師なし学習
Benjamin Wilson
Director of Research at lateral.io
species setosa versicolor virginica
labels
0 0 2 36
1 50 0 0
2 0 48 14
pandasライブラリを使用speciesというリストとして指定print(species)
['setosa', 'setosa', 'versicolor', 'virginica', ... ]
import pandas as pd
df = pd.DataFrame({'labels': labels, 'species': species})
print(df)
labels species
0 1 setosa
1 1 setosa
2 2 versicolor
3 2 virginica
4 1 setosa
...
ct = pd.crosstab(df['labels'], df['species'])
print(ct)
species setosa versicolor virginica
labels
0 0 2 36
1 50 0 0
2 0 48 14
照合できる品種情報がない場合、クラスタリングをどのように評価するか?
サンプルとそのクラスタラベルのみを使用
良いクラスタリングは、密集したクラスタ
各クラスタ内のサンプルがまとまっている
fit()の後、inertia_属性として取得できるfrom sklearn.cluster import KMeans
model = KMeans(n_clusters=3)
model.fit(samples)
print(model.inertia_)
78.9408414261


Pythonで学ぶ教師なし学習