My Data Story

[군집] 스펙트럼 군집 본문

Machine Learning/3. 비지도 학습 알고리즘

[군집] 스펙트럼 군집

Hwasss 2023. 8. 19. 00:55
728x90

◈  '군집' 목차 

1. K-평균

2. DBSCAN

3. HDBSCAN

4. 병합군집

5. 평균-이동

6. BIRCH

7. 유사도 전파

8. 스펙트럼 군집

    스펙트럼 군집 알고리즘에 대해 알아보자.

9. 가우시안 혼합 모델

10. 베이즈 가우시안 혼합 모델


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