我正在处理一组坐标,并且想要动态地(我有很多组需要经过这个过程)了解数据中有多少个不同的组。我的方法是应用k-means来调查它是否会找到质心,我可以从那里去。为什么k-均值聚类会忽略大量数据?
当使用6个不同的聚类(直观地)绘制某些数据时,k-means算法继续忽略两个重要的聚类,同时将多个质心置入另一个。
见图像下面:
红是坐标数据点和蓝色是质心的是k均值提供。在这个特定情况下,我已经达到了15个(任意),但它仍然不能识别右侧的那些数据块,而是在它们之间插入一个中间点,而在右上角的集群中放置8个数据块。
不可否认,右上角的数据点稍多一点,但不是太多。
我在R中使用标准的k-means算法,只是在x和y坐标中输入。我试图标准化数据,但这没有任何区别。
有关为什么会出现这种情况的任何想法,或者可以应用其他潜在方法来试图动态了解数据中存在的不同群集的数量?
你可以尝试标准化数据,并增加'iter.max'和'nstart'(也许'iter.max = 500'和'nstart = 25')?你有可能发布你的数据吗? – bouncyball
如果你提供一个[可重现的例子](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)和样本输入数据,这很容易帮助我们运行并测试代码以查看发生了什么。 – MrFlick
这已经工作了 - 谢谢! – andrewjones54