강의자료 · 머신러닝의 이해

Unsupervised Learning · 학습

이번에 배울 내용

군집 수와 스케일을 바꾸면 같은 자료의 묶음도 달라집니다. 군집 번호 자체에 의미를 부여하지 않고 구조를 읽습니다.

정답 없이 묶기

K-means는 정한 군집 수에서 중심과 표본의 거리를 줄입니다. 군집 번호는 임의의 이름이라 번호 자체보다 중심·분산·배정 구조를 봅니다.

거리의 단위

한 특징의 값 범위가 크면 그 특징이 거리를 지배할 수 있습니다. Standardization 전후와 군집 수를 비교하되, 관성값 감소만으로 의미 있는 군집을 얻었다고 판단하지 않습니다.

예제 출력 순서: Inertia → 평균 Silhouette.

평균값과 군집 그림을 함께 해석합니다.

풀이 예제

make_blobs(n_samples=180,centers=3,cluster_std=.8,random_state=7), K∈{2,3,4}K\in\{2,3,4\}를 사용합니다.

from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score
X,_=make_blobs(n_samples=180,centers=3,cluster_std=.8,random_state=7)
model=KMeans(n_clusters=3,random_state=7,n_init=10).fit(X)
print(model.inertia_,silhouette_score(X,model.labels_))
218.32342403479697 0.8287785157574988

참고 예제

추가 예제 보기

참고 자료