【发布时间】:2016-07-07 06:50:56
【问题描述】:
我希望能够对长/纬点进行聚类,其中每个长/纬点都有不同的可达半径,不应违反
假设您有一对长/纬度作为起点x,可达半径为 R1,我希望能够创建一个大小为 Z 的集群,其中包括起点。此外,作为该集群的候选点的每个点都不应违反其可达半径。
这意味着即使点 y 在点 x 的可达半径内,但如果它的可达半径不能到达点 x。
我曾想过要强制执行此操作,但这不是很有效(指数)。因此,我查看了 DBSCAN 算法,但它似乎并没有解决我的问题,因为 epsilon/距离是固定的。
我是否缺少任何明显的解决方案/算法,或者这只是解决效率低下?
提前致谢。
【问题讨论】:
-
您是否尝试使用 DBSCAN,通过更改使用您的检查返回给定点的相邻点的函数(即,鉴于两点之间关联的可达性,应该存在对称可达性),而不是使用 eps 检查?
-
这实际上是一个非常好的主意。此外,它还应该在根本考虑之前验证是否可以到达起点,否则它只是噪音。
标签: python cluster-analysis dbscan