K意味着聚类算法在3 +簇中难度

时间:2016-05-08 00:07:01

标签: java k-means

目前,我正在使用Java自动生成数据集群,然后尝试使用K Means集群来查找其中心。我使用的K Means算法涉及通过将每个簇种子位置设置为数据点的位置来创建k簇种子位置,将每个数据点分配到最近的簇,根据所有x和y的平均值重新调整簇位置分配给该群集的数据点的坐标,然后继续此循环,直到它们在群集位置中没有移动。

该算法非常有效地使用小于或等于3个聚类,如下面的散点图所示,其中橙色圆圈表示聚类位置,蓝色圆圈表示数据点。 enter image description here

但是,当我添加3个以上的数据点时,由于遇到不同的场景,算法会崩溃。此问题如下图所示: enter image description here

虽然这似乎是代码中的一个缺陷,但如果你考虑结果的合理性,它肯定是上述算法的正确执行,因为不同集群的位置能够实现这些结果这是一个问题的结果。 K Means算法的局限性,还是有办法绕过这个问题?

0 个答案:

没有答案