Chapter 9
clustering
outlier detection
density estimation
Clustering
비슷한 것 끼리 모오는것!
아래와 같은 다양한 어플리케이션에서 사용됨
- 고객분류
- 데이터분석
- 차원축소기법
- 이상치탐지
- 준지도학습
- 검색엔진
- 이미지분활
k-means
from sklearn.cluster import KMeans
k = 5
kmeans = KMeans(n_clusters=k)
y_pred = kmeans.fit_predict(X)
알고리즘이 찾을 클러스터 갯수 k 값을 준다.
모델 이너셔 (inertia) 각 샘플과 가장 가까운 센트로이드 사이의 평균 제곱 거리
최선의 클러스트 갯수를 선택하는 방법중 하나는 실루엣 점수
from sklearn.metrics import silhouette_score
silhouette_score(X,kmeans.labels_)
k-means 의 한계
속도가 빠르고 확장의 용이한 장점이있다.
클러스터 갯수를 지정해야하고 , 클러스터의 크기나 밀집도가 서로 다르거나 원형이 아닐때 잘 작동하지 않는다.
군집을 활용한 이미지 분활
군집을 사용한 전처리
군집은 차원 축소에 효과적인 방법이다.(왜 ????? 잘모르겟심 )
군집을 사용한 준지도 학습
클러스터로 모의고 각 센트로이드에 가장 가까운 이미지를 찾고 , 이미지에 레이블링을 한다.
동일한 클러스터에있는 모든 샘플에 레이블을 전파(label propagation)
DBSCAN
밀집된 연속적 지역을 클러스터로 정의한다.
모든 클러스터가 충분히 밀집되어 있고 밀집되지 않은 지역과 잘 구분될 때 좋은 성능을 낸다 .
다른군집알고리즘
- 병합군집
- BIRCH(balanced iterative reducing clustering using hierarchies)
- 평균이동
- 유사도전파
- 스펙트럼 군집
가우시안 혼합
가우시안 혼합 모델(Gaussian mixture model)은 샘플이 파라미터가 알려지지 않은 여러 개의 혼 합된 가우시안 분포에서 생성되었다고 가정하는 확률 모델
..... 뒤에서는 걍 건너뜀...