Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- allra
- 바로팜
- 머신러닝
- 전환율
- 역설구조
- fundbox
- aarrr
- mysql설치 #mysql #mysqluser #mysqlworkbench
- retention
- activation
- 셀프스토리지
- model_selection
- BM분석
- 한장으로끝내는비즈니스모델100
- 데이터분석
- 팔방이익구조
- 선정산서비스
- 인게이지먼트
- 올라
- 코호트
- 그로스해킹
- pmf
- sklearn
- 리텐션
- 비즈니스모델
- 퍼널분석
- 핀테크
- CAC
- 활성화
- 서말리포켓
Archives
- Today
- Total
데이터로그😎
[비지도 학습] 군집 평가 본문
군집화를 실행한 후 군집화가 얼마나 효율적으로 됐는지 어떻게 평가할까?
군집화의 성능을 평가하는 대표적인 방법 : 실루엣 분석
실루엣 분석 (silhouette analysis)
- 각 군집 간의 거리가 얼마나 *효율적으로 분리*돼 있는지를 나타냄
- 효율적으로 분리되어 있다 = 다른 군집과의 거리는 멀고 동일 군집끼리의 데이터는 가깝게 뭉쳐있다.
- 실루엣 분석은 실루엣 계수를 기반으로 한다.
- 실루엣 계수: 개별 데이터가 가지는 군집화 지표. 같은 군집 내의 데이터와 얼마나 가깝게 군집화돼 있고, 다른 군집에 있는 데이터와는 얼마나 멀리 분리돼 있는지를 나타내는 지표.
- 사이킷런 메소드
- sklearn.metircs.silhouette_samples(X, labels, metric='euclidean', **kwds)
- X = X feature
- labels = 군집 라벨
- 각 데이터 포인트의 실루엣 계수 반환
- sklearn.metrics.silhouette_score(X, labels, metric = 'euclidean', sample_size=None, **kwds)
- X = X feature
- labels = 군집 라벨
- 전체 데이터의 실루엣 계수 값을 평균하여 반환.
- np.mean(silhouette_samples())
- 값이 클수록 군집화가 잘 되었다고 판단. (무조건적인 것은 아님)
- sklearn.metircs.silhouette_samples(X, labels, metric='euclidean', **kwds)
실루엣 계수 (silhouette coefficient)
- s(i) = (b(i) - a(i)) / (max(a(i), b(i))
- b(i) - a(i) = 내가 속한 군집과 가장 가까운 군집과의 거리
- max(a(i), b(i) = b(i) - a(i) 값을 정규화하기 위함.
- -1~1 사이의 값을 가짐.
- 1에 가까워질 수록 근처 군집과 더 멀리 떨어져 있다는 것
- 0에 가까워질 수록 근처 군집과 가깝다는 것.
- - 값은 아예 다른 군집에 데이터 포인트가 할당 되었다는 것.
실루엣 계수 시각화
https://scikit-learn.org/stable/auto_examples/cluster/plot_kmeans_silhouette_analysis.html
Selecting the number of clusters with silhouette analysis on KMeans clustering
Silhouette analysis can be used to study the separation distance between the resulting clusters. The silhouette plot displays a measure of how close each point in one cluster is to points in the ne...
scikit-learn.org
군집 : 2, 실루엣 계수: 0.705
- 실루엣 계수가 매우 높다.
- 1번 군집의 모든 데이터는 평균 실루엣 값 이상. (우측 사진에서 데이터 모여있음)
- 2번 군집은 대부분의 데이터가 평균 실루엣 값 미만. (우측 사진에서 데이터 간 거리가 많이 떨어져 있음)
- 그러나 군집 0,1에 할당된 데이터 비율이 매우 불균등하다.
군집 : 4, 실루엣 계수: 0.65
- 각 군집의 평균 실루엣 값이 비교적 균일하게 위치
- 1번 군집: 모든 데이터가 평균 실루엣 값을 웃돈다.
- 2,3 번 군집: 절반정도가 평균 실루엣 값 웃돈다.
- 0번 군집: 약 1/3정도만 평균 실루엣 값을 웃돈다.
군집이 4일 때 평균 실루엣 계수가 군집 2일때보단 작지만, 각 군집의 실루엣 계수를 비교하여 종합적인 판단을 해보면 군집 4가 더 이상적이다.
'#4. 기타 공부 > #4.2. 머신러닝' 카테고리의 다른 글
[비지도 학습] 군집: Meanshift vs DBSCAN (0) | 2023.09.05 |
---|---|
[비지도 학습] 군집: KMeans, GMM (0) | 2023.09.05 |
[비지도 학습] 군집 (clustering) (0) | 2023.09.05 |
[차원축소] SVD (Singular Value Decomposition) (0) | 2023.09.05 |
[차원축소] LDA (Linear Descriminant Analysis) (0) | 2023.09.05 |