我有一组点,我想要群集。我知道如何做正常的k-means算法。但我不想把'k'作为输入。假设我有点像 1,3,4,50,60,70,1000,10002,10004算法应将它们聚类成3个簇 C1:1,3,4 C2:50,60,70 C3:1000,1002,1004 满足集群内元素之间的距离应该是最小的,并且集群间的距离应该是最大的。
答案 0 :(得分:0)
答案 1 :(得分:0)
决定k是一个问题,它使用许多聚类算法重复。您可能想要考虑频谱聚类(及其各种算法表兄弟),这些聚类可以帮助解决这个问题。但是,许多版本使用k-means作为最后一步,让你回到原点(尽管不是全部)。
或者,有许多方法可以找到k的最佳值,例如上面提到的Denis提供的答案;这可能足以满足您的目的。