최적의 클러스터 수를 결정하는 방법이 있습니까? 아니면 다른 값을 시도하고 오류율을 확인하여 최상의 값을 결정해야합니까?
R
) 으로 비슷한 Q에 대답했다 : stackoverflow.com/a/15376462/1036500
최적의 클러스터 수를 결정하는 방법이 있습니까? 아니면 다른 값을 시도하고 오류율을 확인하여 최상의 값을 결정해야합니까?
R
) 으로 비슷한 Q에 대답했다 : stackoverflow.com/a/15376462/1036500
답변:
내가 사용하는 방법은 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 k = 관측치 수 = 군집 수 = 변수 수 = 군집 수 = 데이터 행렬 = 군집 행렬은 = 군집 표시기 ( 클러스터 관측치 이면 그렇지 않으면 0)
각 변수의 평균이 0이라고 가정합니다 : ,
M = ( Z ' Z ) - 1 Z ' X
T X ' X S S B M ' Z ' Z M S S W T - B (총) 매트릭스 = = (클러스터 간) 매트릭스 = = (클러스터 내) 매트릭스 = =
(추적 = 대각선 요소의 합)
열 을 하나의 긴 열로 쌓습니다.
회귀에 맞췄다 제품 의 와 행렬
계산 이 회귀 - 동일한Z p × p R 2 R 2
CCC에 아이디어는 비교하는 것입니다 당신이 가진 클러스터의 주어진 얻을 당신이 포인트를 균일하게 분포 세트를 클러스터하여 얻을 것입니다 차원 공간을.R 2 p