데이터의 패턴을 자동으로 찾기 위해 다양한 방식의 군집 알고리즘은 크게 5가지 계열로 나눔
- Partitioning(분할 기반)
- 데이터를 사전에 정해진 개수의 군집으로 나눔
- 대표 알고리즘
- K-means : 가장 널리 사용됨, 각 군집은 centroid(중심점)기반
- K-Medoids(PAM) : 중심점이 실제 데이터 포인트, 이상치에 더 강인
- CLARA : 큰 데이터셋에 K-Medoids 적용을 위한 샘플 기반 확장
- Hierarchical(계층 기반)
- 계층적 트리를 생성해 군집을 형성
- 병합형(agglomerative) : bottom-up방식
- 분할형(divisive) : top-down방식
- 대표 알고리즘
- Agglomerative Clustering: 유사한 것끼리 반복적으로 병합
- DIANA (Divisive Analysis Clustering)
- Density-based(밀도 기반)
- 밀도가 높은 영역을 중심으로 군집 형성
- noise(잡음)처리 및 비선형 구조 탐지 가능
- 대표 알고리즘
- DBSCAN : 거리 기반 이웃 밀도로 군집화, 이상치에 강함
- HDBSCAN : DBSCAN의 계층 구조 확장
- OPTICS : 군집 개수 없이 다양한 밀도 파악
- Grid-based(격자기반)
- 공간을 격자 형태로 나누고, 밀도 기반으로 클러스터 구성
- 대용량 데이터에 유리
- 대표 알고리즘
- STING : 통계 기반 격자 불할
- CLIQUE : 차원 축소 + 격자 클러스터링
- Model-based/Probabilistic (분포기반)
- 데이터가 어떤 통계적 분포(보통 가우시안)을 따른다고 가정
- 대표 알고리즘:
- Gausian Mixture Model(GMM) : EM 알고리즘 기반, 소프트 클러스터링 지원
보조적/비정형 알고리즘
- spectral clustering : 그래프 라플라시안 기반의 분할 최적화
- Mean-shift : 모드 탐색 기반, 클러스터 수 자동 결정
- Self-Organizing Map(SOM): 신경만 기반 비선형 차원 축소 + 군집
- Affinity Propagation : 데이터 간 유사도만으로 클러스터링 결정