我正在对 GPS 位置进行聚类。
我获得了大约 4000 个数据点,并使用了 Kmeans 聚类算法。
标记是真实的数据位置,而绿色圆圈区域(质心)是kmeans结果。
您可以看到右上角的聚类,它受到一些异常值的影响。
有没有什么方法可以摆脱异常值的影响,从而找到准确的聚类质心?谢谢
================================================== =============
我得到的GEO数据具有以下格式:
[
{"lat": 22.28552,
"lng": 114.15769
},
...
]
我使用的 kmeans 算法是 here 。但我将距离更改为 distance = Math.sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2))
最佳答案
对于此类数据,K-means 是一个糟糕的选择。
对异常值很敏感
它不适用于半正矢距离(不要在地理坐标上使用欧几里德距离!)
此类数据的热门选择包括 DBSCAN 和 OPTICS。
关于javascript - 聚类位置数据忽略异常值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39959099/