본문 바로가기
Data Analytics with python/[Theory]

[Machine Learning] 실루엣 분석

by 보끔밥0130 2023. 2. 14.
728x90

silhouette analysis

군집화 평가 방법으로 각 군집 간의 거리가 얼마나 효율적으로 분리되어 있는지를 나타내는 평가 방법입니다.

 

● 실루엣 계수(silhouette coefficient) : 개별 데이터가 가지는 군집화 지표

 

● 실루엣 계수는 개별 데이터가 가지고 있으며 같은 군집내의 데이터와 얼마나 가깝게 뭉쳐 있고, 다른 군집에 있는 데이터와는 얼마나 멀리 분리되어 있는지를 나타내는 지표입니다.

 

● 실루엣 계수는 다음과 같이 정의합니다.

s(i) =

 

- a(i) : i번째 데이터에서 자신이 속한 클러스터내의 다른 데이터 포인트들의 평균 거리

ex) 1번 데이터의 경우 a(1)  = mean(a12, a13, a14)

 

- b(i) : i번째 데이터에서 자신이 속하지 않은 클러스터 중 가장 가까운 타 클러스내의 다른 데이터 포인트들의 평균 거리

ex) 번 데이터의 경우 b(1) = mean(b15, b16, b17)

 

-1과 1사이의 값을 가집니다. 

1로 가까워질수록 근처의 군집과 더 멀리 떨어져 있다는 의미입니다. 

0에 가까울수록 근처의 군집과 가까워졌다는 의미입니다.

-1에 가까울수록 다른 군집에 데이터 포인트가 할당되어 있음을 의미합니다.

 

유의점

전체 데이터의 평균 실루엣 계수 값이 높으면 반드시 최적의 군집 개수로 군지화가 잘 된 것인가? 에 대한 질문은 NO입니다.

 

그 이유는 특정 군집 내의 실루엣 계수 값만 높고, 다룬 군집은 내부 데이터끼리의 거리가 너무 떨어져 있다면 실루엣 계수 값이 낮아져도 평균적으로는 높은 값이 나옵니다.

 

적절한 군집화가 이루어 지려면 개별 군집별로 분리된 거리가 적절하게 유지하면서도 군집 내의 데이터가 서로 잘 뭉쳐져 있어야 합니다.

 

 

728x90

댓글