실루엣 플롯의 평균을 해석하는 방법?


35

실루엣 플롯을 사용하여 데이터 세트의 클러스터 수를 결정하려고했습니다. 데이터 세트 Train을 감안할 때 다음 matlab 코드를 사용했습니다.

Train_data = full(Train);  
Result = [];  
for num_of_cluster = 1:20  
    centroid = kmeans(Train_data,num_of_cluster,'distance','sqeuclid');  
    s = silhouette(Train_data,centroid,'sqeuclid');  
    Result = [ Result; num_of_cluster mean(s)];  
end  
plot( Result(:,1),Result(:,2),'r*-.');`

결과 플롯은 x이 군집 수로 , y 축 이 실루엣 값의 평균 으로 아래에 제공됩니다 .

이 그래프를 어떻게 해석합니까? 이것으로부터 클러스터 수를 어떻게 결정합니까?

여기에 이미지 설명을 입력하십시오


클러스터 수를 확인하려면 시각화 소프트웨어-클러스터링 에서 최소 스패닝 트리 (MST) 방법을 참조하십시오 .
데니스

@Learner : 실루엣 기능이 일부 라이브러리에 내장되어 있습니까? 그렇지 않은 경우, 마음에 들지 않으면 질문에 게시 할 수 있습니까?
Legend

@Legend : Matlab Statistics 도구 상자에서 사용할 수 있습니다.
학습자

@Learner : 죄송합니다 ... Python을 사용하고 있다고 생각했습니다. :) 알려 주셔서 감사합니다.
Legend

1
코드를 표시하는 +1! 또한 k = 2 일 때 실루엣의 최대 평균이 발생하므로 데이터가 군집화되어 있는지 확인 하고 갭 통계 (다른 링크 )를 사용 하여 수행 할 수 있습니다 .
Franck Dernoncourt

답변:


41

Sergey의 답변에는 임계점이 포함되어 있습니다. 즉, 실루엣 계수가 달성 된 클러스터링 품질을 수량화하므로 실루엣 계수를 최대화하는 클러스터 수를 선택해야합니다.


긴 대답은 클러스터링 노력의 결과를 평가하는 가장 좋은 방법은 실제로 인간 클러스터를 검사하고 데이터가 나타내는 것, 클러스터가 나타내는 것, 클러스터링의 목표

한계를 완전히 이해하면서 도구로 사용해야하는 군집 결과를 평가하는 수많은 정량적 방법이 있습니다. 그것들은 본질적으로 상당히 직관적 인 경향이 있으며, 따라서 일반적인 클러스터링 문제와 같은 자연스러운 매력을 가지고 있습니다.

예 : 군집 질량 / 반경 / 밀도, 군집 간의 응집 또는 분리 등 이러한 개념은 종종 결합됩니다. 예를 들어 군집이 성공한 경우 응집 대 분리 비율이 커야합니다.

클러스터링 측정 방식은 사용 된 클러스터링 알고리즘 유형에 따라 알려집니다. 예를 들어, 전체 클러스터링 알고리즘 (모든 포인트가 클러스터에 배치됨)의 품질 측정은 임계 값 기반 퍼지 클러스터링 알고리즘 (일부 포인트가 '노이즈'로 클러스터되지 않은 상태)의 품질 측정과 매우 다를 수 있습니다. ).


실루엣 계수는 그러한 측정 중 하나입니다. 다음과 같이 작동합니다.

각 점 p에 대해 먼저 동일한 군집에서 p와 다른 모든 점 사이의 평균 거리를 찾으십시오 (이는 응집의 척도입니다. A라고 함). 그런 다음 p와 가장 가까운 군집의 모든 점 사이의 평균 거리를 찾으십시오 (이는 가장 가까운 다른 군집과의 거리를 측정 한 것으로 B라고 함). p에 대한 실루엣 계수는 B와 A의 차이를 2보다 큰 것으로 나눈 값으로 정의됩니다 (max (A, B)).

각 점의 군집 계수를 평가하고 이로부터 '전체'평균 군집 계수를 얻을 수 있습니다.

직관적으로, 우리는 클러스터 사이의 공간을 측정하려고합니다. 군집 응집력이 양호하고 (A는 작음) 군집 분리가 양호하면 (B는 큼) 분자가 커집니다.

이것을 그래픽으로 보여주기 위해 여기에 예제를 구성했습니다.

군집 계수 nclusters의 클러스터링 결과 = 2 : 5

이 도표에서 동일한 데이터가 5 번 그려집니다. 색상은 k = 1,2,3,4,5 인 k- 평균 군집화로 생성 된 군집을 나타냅니다. 즉, 클러스터링 알고리즘으로 데이터를 2 개의 클러스터로 나눈 다음 3 개 등으로 나누고 그에 따라 그래프에 색상을 지정했습니다.

실루엣 플롯은 k = 3 일 때 실루엣 계수가 가장 높았다는 것을 보여줍니다. 이는 최적의 군집 수를 나타냅니다. 이 예에서는 데이터를 시각화 할 수있어 운이 좋으며 실제로 3 개의 클러스터가이 데이터 세트의 세그먼트를 가장 잘 포착한다는 데 동의 할 수 있습니다.

차원이 높아서 데이터를 시각화 할 수없는 경우 실루엣 플롯은 여전히 ​​제안을 제공합니다. 그러나, 나는 여기에 다소 긴 대답이 특정 시나리오에서이 "제안"이 매우 불충분하거나 잘못 될 수 있다는 점을 지적하기를 바랍니다.


5
자세한 답변에 감사 드리며 특히 음모가 매우 유용합니다. 그러나 나는 the average silhouette witdh "suggestion" could be very insufficient or just plain wrong in certain scenarios.당신 이 어떻게 주장 하는지 이해하지 못했습니다 .
Zhubarb

10

상기 살펴보세요 클러스터 유효성 분석 플랫폼 (CVAP) 도구 상자 와 CVAP의 재료 (링크)의 일부를 :

실루엣 지수 (전체 평균 실루엣)가 클수록 실루엣 값이 클수록 군집 결과의 품질이 향상됨을 나타냅니다 [Chen et al. 2002]

  • N. Bolshakova, F. Azuaje. 2003. 게놈 발현 데이터에 대한 클러스터 검증 기술, 신호 처리. V.83. N4, P.825-833.
  • E. Dimitriadou, S. Dolnicar, A. Weingessel. 이진 데이터 세트에서 클러스터 수를 결정하기위한 인덱스 검사. Psychometrika, 67 (1) : 137-160, 2002.

군집 수를 추정하기 위해이 간단한 도구를 확인할 수도 있습니다.

두 툴킷의 예를 살펴보십시오 (다른 클러스터 유효성 검사 기술을 사용할 수도 있음).


6

나는 오늘 같은 것을 조사 해왔고 여기서 해석을 찾았다 . 논리적으로 의미가 있지만 데이터 집합에 대한 해석을 맹목적으로 적용 할 수 있는지 확실하지 않습니다. 요약하면,이 기사의 내용은 다음과 같습니다.

0.71-1.0
A strong structure has been found

0.51-0.70
A reasonable structure has been found

0.26-0.50
The structure is weak and could be artificial. Try additional methods of data analysis.

< 0.25
No substantial structure has been found

그러나 실루엣 너비를 사용하여 특이 치를 잡을 수있는 것처럼 보입니다. 현재 처리중인 문서 클러스터링 작업에서 음의 실루엣 너비를 가진 문서 클러스터는 명확한 특이 치입니다 (의미 적 의미로 교차 검사 할 때). 이상 값을 제거한 후이 너비가 향상되는지 확실하지 않습니다 (다시 말해서 이것은 논리적으로 의미가 있지만 직접 수행하지는 않았습니다).


4
역사는 단지 Sewell, Grandville 및 PJ Rousseau에서 나온 것입니다. "데이터에서 그룹 찾기 : 클러스터 분석 소개." (1990). img546.imageshack.us/img546/4523/cnfg.png (저자 중 한 기사에서 이전에 출판 되었을 수도 있음)
Franck Dernoncourt

답변의 링크를 더 이상 사용할 수 없습니다. 다른 참조를 제공해 주시겠습니까?
BajajG

다음은 웹 아카이브에서 기사에 대한 링크는 다음과 같습니다 web.archive.org/web/20111002220803/http://www.unesco.org:80/...은
Justas

1

비지도 학습을 위해 클러스터 수를 선택하려는 경우 다음과 같은 작업을 시도 할 수 있습니다.

http://scikit-learn.org/stable/auto_examples/cluster/plot_kmeans_silhouette_analysis.html

그들은 실루엣 점수 평균 이상을 사용하지만 (분포를 사용) 의미가 있습니다. 더 작은 클러스터를 선호하는 것 같지만 생성 된 데이터로 시도해 볼 수 있습니까?

또는이 논문을 확인할 수 있습니다.

http://www.sciencedirect.com/science/article/pii/0377042787901257

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.