【问题标题】:Cluster long/lat points with varying distance聚类具有不同距离的长/纬点
【发布时间】:2016-07-07 06:50:56
【问题描述】:

我希望能够对长/纬点进行聚类,其中每个长/纬点都有不同的可达半径,不应违反

假设您有一对长/纬度作为起点x,可达半径为 R1,我希望能够创建一个大小为 Z 的集群,其中包括起点。此外,作为该集群的候选点的每个点都不应违反其可达半径。

这意味着即使点 y 在点 x 的可达半径内,但如果它的可达半径不能到达点 x。

我曾想过要强制执行此操作,但这不是很有效(指数)。因此,我查看了 DBSCAN 算法,但它似乎并没有解决我的问题,因为 epsilon/距离是固定的。

我是否缺少任何明显的解决方案/算法,或者这只是解决效率低下?

提前致谢。

【问题讨论】:

  • 您是否尝试使用 DBSCAN,通过更改使用您的检查返回给定点的相邻点的函数(即,鉴于两点之间关联的可达性,应该存在对称可达性),而不是使用 eps 检查?
  • 这实际上是一个非常好的主意。此外,它还应该在根本考虑之前验证是否可以到达起点,否则它只是噪音。

标签: python cluster-analysis dbscan


【解决方案1】:

DBSCAN 的适应性很强。请参阅 Generalized DBSCAN 方法进行讨论。本质上,您可以定义一个邻居谓词,例如“两者都可以相互访问”,然后使用这个修改后的邻居运行 DBSCAN。

您可能还想研究 OPTICS 和 HDBSCAN*,它们都比 DBSCAN 有所改进。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-01
    • 2014-02-26
    • 2020-05-09
    • 1970-01-01
    • 2016-11-18
    • 1970-01-01
    • 2013-09-25
    • 2012-07-09
    相关资源
    最近更新 更多