沿逆时针方向获取在DBSCAN算法中发现的簇的边界点

时间:2019-11-26 19:20:53

标签: python dbscan

我试图获取在DBSCAN算法中找到的每个聚类的边界点。这些点应沿逆时针方向。

Problem Scenario of DBSCAN Clusters

就像,对于集群,我需要按点标签的时间顺序排列的点。 (例如:对于群集2,我需要A-> B-> C-> D-> E-> F-> G-> H-> I-> J-> K)

上面提到的代码的

Python实现将非常有用。如果不可用,能否请您为我提供有效的算法,以解决上述问题?

1 个答案:

答案 0 :(得分:1)

这个问题没有很好地定义。

什么样的簇状形状像香蕉,或更不规则的非凹形?

只要您的数据是2d中的高斯玩具数据-计算与聚类平均值的角度,然后按角度对值进行排序。实际上,一种流行的凸包hul算法(Graham扫描)正是这样做以获取处理顺序。格雷厄姆(Graham)的技巧可能对您来说效果不佳:选择y坐标最大的点作为参考点,并按与该点的角度对点进行排序。可以很容易地看出,与更中心的点相比,生成的点有时可能会不按顺序排列,但这对于找到凸包来说并不重要。