K- 평균을 사용하여 데이터를 클러스터링하고 "최적의"클러스터 번호를 제안하는 방법을 찾고있었습니다. 갭 통계는 좋은 클러스터 번호를 찾는 일반적인 방법 인 것 같습니다.
어떤 이유로 든 최적의 클러스터 번호로 1을 반환하지만 데이터를 볼 때 2 개의 클러스터가 있음이 분명합니다.
이것이 R에서 간격을 부르는 방법입니다.
gap <- clusGap(data, FUN=kmeans, K.max=10, B=500)
with(gap, maxSE(Tab[,"gap"], Tab[,"SE.sim"], method="firstSEmax"))
결과 세트 :
> Number of clusters (method 'firstSEmax', SE.factor=1): 1
logW E.logW gap SE.sim
[1,] 5.185578 5.085414 -0.1001632148 0.1102734
[2,] 4.438812 4.342562 -0.0962498606 0.1141643
[3,] 3.924028 3.884438 -0.0395891064 0.1231152
[4,] 3.564816 3.563931 -0.0008853886 0.1387907
[5,] 3.356504 3.327964 -0.0285393917 0.1486991
[6,] 3.245393 3.119016 -0.1263766015 0.1544081
[7,] 3.015978 2.914607 -0.1013708665 0.1815997
[8,] 2.812211 2.734495 -0.0777154881 0.1741944
[9,] 2.672545 2.561590 -0.1109558011 0.1775476
[10,] 2.656857 2.403220 -0.2536369287 0.1945162
내가 잘못하고 있거나 좋은 클러스터 번호를 얻는 더 좋은 방법을 알고 있습니까?