首页 > 解决方案 > 如何对地理数据进行密度聚类?

问题描述

我想使用基于密度的算法对地理数据(至少坐标、高度)进行聚类。我发现 DBSCAN 应该可以很好地满足我的目的。我甚至希望有一个小的独立集群,其 minpts 为 1 或 2。它可以完成这项工作,但将其他点作为一个巨大的集群或噪音留下,我希望这些点也可以聚集成更小的组。

例如,如果我有两组高点(如山脉)位于地图上的不同位置,我希望它们位于两个单独的集群中。如何做到这一点?也许以某种方式在算法中设置最大点值?我很感激任何建议。

PS我为此目的使用了R,但问题更多的是关于方法。

标签: ralgorithmcluster-analysisgeospatialdbscan

解决方案


不要使用太小的minpts。

1 或 2 点不是“集群”。这些点是“噪音”。只需将噪声中的所有点视为单独的集群,或者如果您真的想要将它们连接在足够短的距离内。您可以轻松地对噪音进行后期处理。

但是出于密度基础聚类的目的,您需要更多点才能具有密度。事实上,对于高达 2 的 minpts,DBSCAN 退化为单链路聚类。


推荐阅读