【发布时间】:2015-05-28 10:09:48
【问题描述】:
我已经实现了一个 k 均值聚类算法,如 http://faculty.uscupstate.edu/atzacheva/SHIM450/KMeansExample.doc 所述
对于某些数据集,我发现生成的集群数量并不总是等于初始 k。这是意料之中的吗?
我认为这是意料之中的,因为在每次迭代之后,每个数据点都会添加到最近的集群中,但这并不能保证所有集群都会被填充。每个集群在每次迭代后都会重新初始化,因此某些集群可能没有足够接近点而无法添加任何点。
【问题讨论】:
-
这不应该发生。你是从一组对象中取出前 K 个质心吗?它们应该是随机对象(来自集合),但不是随机坐标。
-
@Tilo 我从一组对象中随机取 k 个质心,坐标是从选择的随机点中选择的。坐标本身不是随机的。
-
@Tilo 请查看问题更新
-
感谢分享链接!很长一段时间以来,我一直在使用该算法的变体,并且从来没有空集群,但这可能只是我正在使用的数据的一些属性。
-
我正在使用的 @Tilo 数据集非常稀疏,并且每个点的距离都相对较近,这可能导致无法将点添加到所有集群中。
标签: k-means