Java k均值算法中聚类值的选择

Java k均值算法中聚类值的选择,java,algorithm,k-means,Java,Algorithm,K Means,我正在写一个k-means算法,它接受一个双[][],存储位置并返回两个位置集群 我有一个非常简单的问题:选择初始集群值的最佳方法是什么? 我尝试过将这些值随机化,但这并不总是奏效,而且我在网上找不到这个问题的好答案。非常感谢您的帮助 通常比随机选择更有效的一种流行策略是随机选择第一个值,然后通过查找距离第一个选择最远的数据点来选择第二个值 然后选择下一个值,使其与前两个值的距离都最远,依此类推 这类似于稍微复杂一点的初始化算法。除非您必须使用标准的k-均值算法,否则您可以查找k-调和均值算法。

我正在写一个k-means算法,它接受一个双[][],存储位置并返回两个位置集群

我有一个非常简单的问题:选择初始集群值的最佳方法是什么?


我尝试过将这些值随机化,但这并不总是奏效,而且我在网上找不到这个问题的好答案。非常感谢您的帮助

通常比随机选择更有效的一种流行策略是随机选择第一个值,然后通过查找距离第一个选择最远的数据点来选择第二个值

然后选择下一个值,使其与前两个值的距离都最远,依此类推


这类似于稍微复杂一点的初始化算法。

除非您必须使用标准的k-均值算法,否则您可以查找k-调和均值算法。它使用了一个不同的性能函数,该函数被认为对初始集群中心的选择不太敏感。