K- 평균 군집화에서 군집 수를 정의하는 방법은 무엇입니까?


19

최적의 클러스터 수를 결정하는 방법이 있습니까? 아니면 다른 값을 시도하고 오류율을 확인하여 최상의 값을 결정해야합니까?


1
@berkay 관리되지 않는이 방법에 대한 오류율을 어떻게 정의합니까? (또는 당신은 SS 내부를 의미합니까?)
chl

@chl, 나는 모든 클러스터 또는 전체 정확도에 대해 제곱 오차의 합계를 사용할 수 있습니다 (이 경우 클래스 레이블을 알고 있습니다)
berkay

3
@berkay No. 군집을 찾기위한 간단한 알고리즘은 점점 더 많은 군집 (2로 시작하여 9 또는 10으로 끝남)에서 20 번의 k- 평균에 대한 평균 WSS를 계산하고 이 클러스터 세트에 대한 최소 WSS. 또 다른 방법은 갭 통계 입니다. 그러나 이미 레이블이 지정된 인스턴스가 있다면 왜 감독되지 않은 방법을 시도하고 있습니까?
chl

@chl 감사합니다, 좋은 질문, 우리는 intances의 특징에 따라 클러스터를 추측 할 수 있습니다. 나는 새로운 침입 특성을 분석하고 있습니다. 법적 응용 프로그램의 모방입니다.
berkay

2
나는 여기에 6 가지 방법 (을 사용하여 R) 으로 비슷한 Q에 대답했다 : stackoverflow.com/a/15376462/1036500
Ben

답변:


8

내가 사용하는 방법은 CCC (Cubic Clustering Criteria)를 사용하는 것입니다. 클러스터 수를 1 씩 늘리면 CCC가 최대로 증가한 다음 CCC가 감소하기 시작하는 시점을 관찰합니다. 그 시점에서 나는 클러스터 수를 (로컬) 최대 값으로 취합니다. 이것은 주요 구성 요소의 수를 선택하기 위해 스 크리 플롯을 사용하는 것과 유사합니다.


SAS 기술 보고서 ​​A-108 큐빅 클러스터링 기준 ( pdf )

n k k p q X n × p M q × p Z z i k = 1 i kn = 관측치 수 = 군집 수 = 변수 수 = 군집 수 = 데이터 행렬 = 군집 행렬은 = 군집 표시기 ( 클러스터 관측치 이면 그렇지 않으면 0)
nkk
p
q
Xn×p
Mq×p
Zzik=1ik

각 변수의 평균이 0이라고 가정합니다 : ,
M = ( Z ' Z ) - 1 Z ' XZZ=diag(n1,,nq)M=(ZZ)1ZX

T X ' X S S B M ' Z ' Z M S S W T - BSS (총) 매트릭스 = = (클러스터 간) 매트릭스 = = (클러스터 내) 매트릭스 = =TXX
SSBMZZM
SSWTB

R2=1trace(W)trace(T)
(추적 = 대각선 요소의 합)

열 을 하나의 긴 열로 쌓습니다. 회귀에 맞췄다 제품 의 와 행렬 계산 이 회귀 - 동일한Z p × p R 2 R 2X
Zp×p
R2R2

CCC에 아이디어는 비교하는 것입니다 당신이 가진 클러스터의 주어진 얻을 당신이 포인트를 균일하게 분포 세트를 클러스터하여 얻을 것입니다 차원 공간을.R 2 pR2R2p


2
CCC 외에 다른 기준이 있습니다. 주요 클러스터 를 보려면 데이터 세트의 클러스터 수 결정을 살펴보십시오 .
Vincent Labatut 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.