2011-05-09 88 views
0

我有一组点,并且我想要群集。我知道如何做正常的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

你为什么使用随机词? – Gumbo 2011-05-09 07:51:34

+0

@Gumbo:因为我不想把k作为输入,所以我简单地称之为随机聚类。这是否导致其他事情? – Navin 2011-05-09 08:03:42

+0

也许这有助于... http://www.slideshare.net/pierluca.lanzi/machine-learning-and-data-mining-08-clustering-hierarchical – mkn 2011-05-09 12:13:05

回答

0

决定k是一个问题,它使用许多聚类算法重复自己。你可能想要考虑谱聚类(和它的各种算法表亲),它可以解决这个问题。然而,许多版本都使用k-means作为最后一步,让你回到原点(尽管不是全部)。

或者,有很多方法可以找到k的最优值,例如上面Denis提供的答案;这可能足以满足您的需求。