1 차원 데이터에서는 군집 분석을 사용하지 마십시오.
군집 분석은 일반적으로 다변량 기법입니다. 또는 다른 방법으로 더 잘 정리해 보겠습니다. 완전히 정렬 된 1 차원 데이터의 경우 훨씬 더 나은 기술이 있습니다. 여기에서 k- 평균 및 이와 유사한 기술을 사용하면 실제로 1-d 사례에 맞게 최적화하기 위해 충분한 노력을 기울이지 않는 한 총 낭비입니다.
예를 들어 k- 평균의 경우 k 개의 임의의 객체를 초기 시드로 사용하는 것이 일반적입니다. 1 차원 데이터의 경우, 데이터를 한 번 정렬 한 후 적절한 Quantile (1 / 2k, 3 / 2k, 5 / 2k 등) 을 사용하고이 시작점에서 최적화 하면 더 쉽게 수행 할 수 있습니다. 그러나 2D 데이터는 완전히 정렬 할 수 없습니다. 그리고 그리드에는 빈 셀이있을 것입니다.
나는 또한 그것을 클러스터라고 부르지 않을 것이다. 나는 그것을 interval 이라고 부를 것이다 . 실제로 원하는 것은 간격 경계를 최적화하는 것입니다. k- 평균을 수행하는 경우 다른 객체로 이동해야하는 경우 각 객체를 테스트합니다. 1D에서는 의미가 없습니다. 구간 경계에있는 객체 만 확인하면됩니다. ~ 2k 객체 만 있기 때문에 분명히 훨씬 빠릅니다. 그들이 다른 간격을 아직 선호하지 않는다면, 더 중심적인 객체도 마찬가지입니다.
예를 들어 Jenks Natural Breaks 최적화 와 같은 기술을 살펴볼 수 있습니다 .
또는 커널 밀도 추정을 수행하고 밀도의 로컬 최소값을 찾아서 분할 할 수 있습니다. 좋은 점은 이것을 위해 k를 지정할 필요가 없다는 것입니다!
PS 검색 기능을 사용하십시오. 1-d 데이터 클러스터링에 대한 몇 가지 질문이 있습니다.