Python으로 배우는 Unsupervised Learning
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으로 배우는 Unsupervised Learning