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で学ぶ教師なし学習