0

我正在做一个群集的GPS位置群集位置数据忽略异常值

我得到了大约4000个数据点,我用了Kmeans聚类算法。

下面是结果我: enter image description here

的标记是真实的数据位置,而绿圈区(心)是k均值的结果。

你可以看到右上方的聚类,这是受一些异常值的影响。

是否有任何方法来摆脱异常值的影响,以找出准确的聚类质心?谢谢

============================================ ================

地理数据我有以下格式:

[ 
{"lat": 22.28552, 
"lng": 114.15769 
}, 
... 
] 

的k均值算法中,我使用的就是遵循here。但我将距离改为distance = Math.sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2))

+0

该结果看起来不正确。你可以创建一个小提琴或张贴一些代码?你如何初始化质心? –

+0

@MattWay我更新了我的问题。质心是通过对应于簇的数据的平均值计算出来的,如'(x1 + x2 + ... + xn)/ number_of_point_in_cluster1,(y1 + y2 + ... + yn)/ number_of_point_in_cluster1' – VICTOR

+0

是的,但是您怎么看初始化它们?他们从哪里开始? –

回答

1

K-means对于这样的数据来说是一个糟糕的选择。

  1. 它是异常敏感的

  2. 它不与半正弦波工作距离(不上地理坐标用欧几里德!)

这样的数据热门选择包括DBSCAN和光学。