javascript - 聚类位置数据忽略异常值

标签 javascript machine-learning geometry google-visualization cluster-analysis

我正在对 GPS 位置进行聚类

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

这是我得到的结果: enter image description here

标记是真实的数据位置,而绿色圆圈区域(质心)是kmeans结果。

您可以看到右上角的聚类,它受到一些异常值的影响

有没有什么方法可以摆脱异常值的影响,从而找到准确的聚类质心?谢谢

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

我得到的GEO数据具有以下格式:

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

我使用的 kmeans 算法是 here 。但我将距离更改为 distance = Math.sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2))

最佳答案

对于此类数据,K-means 是一个糟糕的选择。

  1. 对异常值很敏感

  2. 它不适用于半正矢距离(不要在地理坐标上使用欧几里德距离!)

此类数据的热门选择包括 DBSCAN 和 OPTICS。

关于javascript - 聚类位置数据忽略异常值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39959099/

相关文章:

javascript - 如何通过浏览器中立方法检查 Web 应用程序 list 是否存在?

JavaScript : Change the function of the browser's back button

matlab - 在Matlab中使用memmapfile读取并表示mp3文件

algorithm - 使用强化学习训练神经网络

algorithm - 如何比较两个形状?

javascript - 双函数调用或将结果存储为变量?

javascript - 多次调用 .getJSON

tensorflow - VGG 的每一层有多少个神经元?

javascript - 寻找封闭路径的多边形近似

c++ - 线性插值以找到三角形中的坐标