My Data Story
[군집] 스펙트럼 군집 본문
728x90
◈ '군집' 목차 ◈
8. 스펙트럼 군집
스펙트럼 군집 알고리즘에 대해 알아보자.
1. 스펙트럼 군집
step1
샘플 사이의 유사도 행렬을 받아 저차원 임베딩을 만든다. (즉 차원 축소한다.)
step2
그다음 이 저차원 공간에서 또 다른 군집 알고리즘을 사용한다. (사이킷런에서는 k-평균 사용)
스펙트럼 군집은 복잡한 클러스터 구조를 감지하고 graph cut을 찾는 데 사용할 수 있다.
예를 들어 소셜 네트워크에서 친구의 클러스터를 찾는데 사용된다.
이 알고리즘은 샘플 개수가 많으면 잘 적용되지 않고 클러스터 크기가 매우 다르면 잘 동작하지 않는다.
2. SpectralClustering 클래스
사이킷런에서 SpectralClustering 클래스를 통해 구현할 수 있다.
SpectralClustering 의 몇 가지 매개 변수를 살펴보자.
˙ n_cluster : 클러스터 갯수
˙ n_components : 임베딩시킬 저차원 공간의 고유 벡터 수
˙ affinity : 유사도 행렬 계산 시 유사도 측정 기준 ex. nearest_neighbors, rbf, precomputed
˙assign_labels : 저차원 공간에서 사용할 군집 알고리즘 ex. kmeans, discretize
˙n_init : 저차원 공간에서 kmenas 군집 알고리즘 사용 시, 센트로이드 초기화 진행 횟수
from sklearn.cluster import SpectralClustering
spectral_cluster = SpectralClustering(n_clustser = 3,
n_components = 5,
n_init = 10,
assign_labels = 'kmenas')
cluster_labels = spectral_cluster.fit_predicts(X)
▶ SpectralClustering 클래스 구현에 대해 더 자세히 알고 싶다면 >> 참고 URL - SpectralClustering
'Machine Learning > 3. 비지도 학습 알고리즘' 카테고리의 다른 글
[군집] 베이즈 가우시안 혼합 모델 (0) | 2023.08.19 |
---|---|
[군집] 가우시안 혼합 모델 (0) | 2023.08.19 |
[군집] 유사도 전파 (0) | 2023.08.19 |
[군집] BIRCH (0) | 2023.08.19 |
[군집] 평균-이동 (0) | 2023.08.19 |