집약적 계층 적 군집화에 대한 어떤 정지 기준이 실제로 사용됩니까?


32

모든 종류의 기준을 제안하는 광범위한 문헌을 발견했습니다 (예 : Glenn et al. 1985 (pdf) 및 Jung et al. 2002 (pdf)). 그러나 이들 중 대부분은 구현하기 쉽지 않습니다 (적어도 내 관점에서는). 내가 사용하고 scipy.cluster.hierarchy를 클러스터 계층 구조를 얻기 위해, 나는 지금부터 플랫 클러스터를 형성하는 방법을 결정하는 것을 시도하고있다. 내 목표는 관찰에서 공통 패턴을 발견하는 것이므로 얻은 클러스터링을 비교할 참조가 없습니다. 누구나 실용적인 솔루션을 제안 할 수 있습니까?


내 웹 페이지 에는 많은 인기있는 내부 클러스터링 기준 (중지 규칙)에 대한 설명 (및 SPSS 기능) 이 포함 된 "클러스터링 기준"zip 모음이 있습니다. 당신의 정보를 위해.
ttnphns

답변:


18

다음 Wikipedia 항목은 실제로 가장 인기 있고 비교적 간단한 방법을 설명하는 데 매우 효과적입니다.

팔꿈치 방법 휴리스틱은 육안 검사와 결합 (분산의 양은 클러스터의 수에 의해 설명 됨)의 간단한 설명을 대중 인해 아마가 기재. 정보 이론적 방법 중 하나를 구현하는 것은 어렵지 않아하고 페이지를 시작하는 데 사용할 수있는 몇 가지 의사가 있습니다. 후자는 AIC, BIC 등과 같은 잘 알려진 정보 기준에서와 같이 모델 복잡성에 기반한 처벌 가능성에 대한 분석입니다.


감사! 계층 적 클러스터링에 관한 Wikipedia 기사는이 기사에 링크되어 있지 않습니다.
Björn Pollex

2
아 맞다. 지적 해 주셔서 감사합니다. "참조"링크에서 수정되었습니다.
ars

엘보우 방법에서 클러스터링 할 객체가 "복잡한"경우 어떻게해야합니까? 나는 이것이 단순한 포인트가 아니라 복잡한 데이터 수집이라는 것을 의미합니다. 나는 그들이 쌍으로 거리 (자체 정의 거리)를 알아 냈습니다. 팔꿈치 방법을 적용하기 위해 소위 "분산"을 어떻게 계산합니까?
Sibbs Gambling

17

군집 분석은 통계 단위 그룹 (개인이든 변수이든)을 분리하려고하기 때문에 사용하는 군집화 방법에 관계없이 데이터에서 "최고의"군집 수를 선택하는 방법에 대한 명확한 솔루션을 제공하기가 다소 어렵습니다. ) 본질적으로 탐색 적이거나 설명적인 목적으로 사용됩니다. 따라서 클러스터링 구성표의 출력을 해석해야하며 여러 클러스터 솔루션도 똑같이 흥미로울 수 있습니다.

이제 @ars가 지적한 것처럼 데이터 집계 중단 시점을 결정하는 데 사용되는 일반적인 통계 기준에 대해서는 덴드로 그램 분석 또는 실루엣 플롯 이라고도하는 클러스터 프로파일 검사를 포함한 시각적 지침 기준이 있습니다 (Rousseeuw, 1987). . Dunn 's validity index, Davies-Bouldin validity index, C index, Hubert 's gamma와 같은 몇 가지 수치 기준 ( 예 : 유효성 지수)도 제안되었습니다. 계층 적 클러스터링은 종종 k- 평균 (실제로 확률 적 알고리즘이므로 k- 평균의 여러 인스턴스)과 함께 실행되므로 발견 된 클러스터링 솔루션에 대한 지원이 추가됩니다. 이 모든 것들이 파이썬에서 쉽게 구할 수 있는지는 모르겠지만 R에서는 방대한 양의 메소드를 사용할 수 있습니다 (관련 질문에 대해 @mbq에서 이미 인용 한 클러스터 작업보기 MovieLens에 클러스터링 알고리즘을 적용하는 데 어떤 도구를 사용할 수 있습니까? ). 다른 접근 방법은 다음과 같습니다 퍼지 클러스터링모델 기반 클러스터링 (또한 잠재 특성 분석 당신이 당신의 데이터 클러스터의 수를 선택할 수있는 더 강력한 방법을 찾는 경우 심리 사회를,).

BTW, 난 그냥이 웹 페이지에 걸쳐 온 scipy - 클러스터 이며, 시각화, 계층 적 클러스터를 분석, 생성 Scipy의 확장 . 다른 기능이 포함되어 있습니까? 또한 다변량 분석에 매우 유용한 PyChem 을 들었습니다 .

다음 참조도 도움이 될 수 있습니다.

Steinley, D. & & Brusco, MJ (2008). 군집 분석에서 변수 선택 : 8 가지 절차를 실험적으로 비교합니다. Psychometrika , 73 , 125-144.


이 훌륭한 답변에 감사드립니다! 실제로 표시 한 계층 적 클러스터링 모듈은 이미 scipy의 일부입니다. 또한 scipy는 k- 평균의 구현을 제공하므로 쉽게 사용할 수 있습니다.
Björn Pollex

좋아, 나는 이것에 대해 자세히 보지 않았다. k- 평균의 경우 일반적으로 클러스터 솔루션을 검증하기 위해 두 개의 외부 루프가 필요하다는 사실에주의를 기울여야합니다 (하나는 클러스터 수를 변경하고 다른 하나는 시드를 변경하기 위해-RSS를 최소화하는 목적). 그런 다음 Gap 통계를 사용하여 최적의 군집 수를 선택할 수 있습니다.
chl

5

최근에 클러스터 그램 시각화 방법 (R로 구현)의 기금이되었습니다 .

나는 "좋은"클러스터 수를 평가하기 위해 추가 방법을 사용합니다. 다른 클러스터링 방법으로 확장하는 것은 그리 어렵지 않습니다 (실제로 코드를 게시하지 못했습니다)

대체 텍스트

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