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 库speciesprint(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 中的无监督学习