Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用不同距离对长/横向点进行聚类_Python_Cluster Analysis_Dbscan - Fatal编程技术网

Python 使用不同距离对长/横向点进行聚类

Python 使用不同距离对长/横向点进行聚类,python,cluster-analysis,dbscan,Python,Cluster Analysis,Dbscan,我希望能够对long/lat点进行集群,其中每个long/lat点都有一个不同的可达半径,不应该违反这个半径 假设您有一个long/lat对作为起点x,可达半径为R1,我希望能够创建一个大小为Z的集群,其中包括起点。此外,作为该集群候选点的每个点都不应违反其可达半径 这意味着,即使点y在点x的可达性半径范围内,如果其可达性半径无法到达点x,则不应将其包括在内 我原以为我会残忍地执行这个,但这不是很有效(指数)。因此,我研究了DBSCAN算法,但它似乎不能解决我的问题,因为ε/距离是固定的 是否有

我希望能够对long/lat点进行集群,其中每个long/lat点都有一个不同的可达半径,不应该违反这个半径

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

这意味着,即使点y在点x的可达性半径范围内,如果其可达性半径无法到达点x,则不应将其包括在内

我原以为我会残忍地执行这个,但这不是很有效(指数)。因此,我研究了DBSCAN算法,但它似乎不能解决我的问题,因为ε/距离是固定的

是否有我遗漏的任何明显的解决方案/算法,或者这只是有效的解决方案/算法


提前感谢。

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


此外,您可能希望研究光学和HDBSCAN*,两者都比DBSCAN有所改进。

您是否尝试使用DBSCAN,方法是更改通过检查返回给定点的相邻点的函数(即,鉴于两点之间关联的可达性,应存在对称可达性),用eps代替支票?这确实是个好主意。此外,在考虑之前,还应验证是否可以达到起点,否则这只是噪音。