공부기록/머신러닝

[머신러닝] 12주차. 군집화

박윤서 2023. 2. 2. 21:51

(군집화)

데이터 포인트들을 별개의 군집으로 그룹화 하는 것.

유사성이 높은 데이터들을 동일한 그룹으로 분류하고 서로 다른 군집들이 상이성을 가지도록 그룹화 해준다

 

(군집화 활용 분야)

ž   고객,마켓,브랜드,사회 경제 활동 세분화

ž   Image 검출,세분화,트랙킹

ž   이상 검출.

 

(군집화 알고리즘)

ž   K-Means : centroid 기반. 비즈니스 세분화 영역에서 가장 많이 사용

ž   Mean Shift : centroid 기반. 조금 다른 방식으로 작동

ž   Gaussian Mixture Model: 어느 정규분포에 속하는지에 따라 클러스터링

ž   DBSCAN : 데이터의 밀도에 따라 클러스터링.

 

(K-Means Clustering)

(K-Means의 장점과 단점)

 

장점

ž   일반적인 군집화에서 가장 많이 활용되는 알고리즘

ž   알고리즘이 쉽고 간결.

ž   대용량 데이터에도 활용이 가능하다

 

단점

ž   거리 기반 알고리즘으로 속성의 개수가 매우 많은 경우 군집화 정확도가 떨어진다.

ž   반복 수행시, 반복 횟수가 많을 경우 수행 시간이 느려진다.

ž   이상치 데이터에 취약하다.

 

(사이킷런 KMeans 클래스)

-주요 파라미터

n_clusters : 군집화할 개수. 군집 중심점의 개수

init : 군집 중심점 좌표 설정 방식. 보통 임의로 설정 안하고 k-means++방식으로 최초 설정

max_iter : 최대 반복 횟수. 이 횟수 이전에 모든 데이터 중심점 이동 없으면 종료.

 

-주요 속성

labels_ : 각 데이터 포인트가 속한 군집 중심점 레이블

cluster_centers : 각 군집 중심점 좌표([군집 개수, 피처 개수]). 이를 이용하면 군집 중심점 좌표 시각화가 가능하다.