핵심 개념
머신러닝 비지도학습에 속하는 K-means 알고리즘은 쉽게 말해 데이터를 K개의 군집(Cluster)으로 묶는(Clusting) 알고리즘이다.
K-means 알고리즘에서 K는 묶을 군집(클러스터)의 개수를 의미하고 means는 평균을 의미한다. 단어 그대로의 의미를 해석해보면 각 군집의 평균(mean)을 활용하여 K개의 군집으로 묶는다는 의미다.
거리는 유클라디안 거리 계산법을 가장 많이 사용.
사용 라이브러리
from sklearn.cluster import KMeans
km = KMeans(n_clusters = 3, init = 'random', n_init = 10, max_iter = 300, tol = 1e-04, random_state = 0)
#KMeans(클러스터개수, 초기 중심좌표설정방법, 초기설정 시 가장 작은 SSE값 찾는 횟수, 데이터 추가 후 센트로이드 이동 횟수, SSE 허용 오차값, 랜덤 설정값)
n_cluster : 군집의 개수 k를 지정하는 파라미터
군집화의 성능에 큰 영향을 미치기 때문에, 적절한 k 값을 선택하는 것이 중요.
보통 엘보우(Elbow) 방법이나 실루엣(silhouette) 분석을 사용해 적절한 k값을 찾음
init
max_iter
random_state
n_init