r - 如何对地理数据进行密度聚类?
问题描述
我想使用基于密度的算法对地理数据(至少坐标、高度)进行聚类。我发现 DBSCAN 应该可以很好地满足我的目的。我甚至希望有一个小的独立集群,其 minpts 为 1 或 2。它可以完成这项工作,但将其他点作为一个巨大的集群或噪音留下,我希望这些点也可以聚集成更小的组。
例如,如果我有两组高点(如山脉)位于地图上的不同位置,我希望它们位于两个单独的集群中。如何做到这一点?也许以某种方式在算法中设置最大点值?我很感激任何建议。
PS我为此目的使用了R,但问题更多的是关于方法。
解决方案
不要使用太小的minpts。
1 或 2 点不是“集群”。这些点是“噪音”。只需将噪声中的所有点视为单独的集群,或者如果您真的想要将它们连接在足够短的距离内。您可以轻松地对噪音进行后期处理。
但是出于密度基础聚类的目的,您需要更多点才能具有密度。事实上,对于高达 2 的 minpts,DBSCAN 退化为单链路聚类。
推荐阅读
- ruby-on-rails - 从 Docker Hub 拉取 dockerized rails 应用程序时无法启动它
- flutter - AnimatedContainer - 我如何只展开一个而其余的留在下面?
- git - Git Cherry pick 在目标中创建差异
- java - java中的材质转换不起作用
- optimization - 影子价格 - XPRESS - 纸浆
- c - 使用make时PVM库(Parallel virtual machine)安装问题
- json - NSIS 快捷方式有什么问题?
- python - TensorFlow Lite 无法识别操作 VarHandleOp
- c# - 在 C# 中更新由 DataContractserializer 序列化的 xml 的单个元素?
- java - 如何使用 itext 2.1.7 在 PDF 中垂直创建矩形并添加文本