python - 最近簇距离(无质心)

标签 python cluster-analysis dbscan

我有兴趣查找空间数据集中最近邻簇距离的分布(经度、纬度)。我的聚类标准很简单,这意味着当两个点彼此相邻时,它们属于同一个聚类,并且聚类中的最小点数为 1。为此,我使用 sklearn.cluster.DBSCAN。聚类后​​,我想找到每个聚类到最近聚类的距离,这就是我遇到问题的地方。我发现的所有内容都会计算簇的质心之间的最近邻距离,我想使用边界来代替。

Instead finding the blue distance, I want to find the black.

目前,我的做法是从一个簇中取出所有点,然后计算该簇中每个点与其余簇中所有点的距离,最后取最小距离。然而,正如你可以想象的那样,这是非常低效的,并且计算需要很长时间。

有人知道如何正确执行此操作吗?

最佳答案

使用近邻分类器。

但是在所有点中,而不是聚类中心!

Sklearn 具有实用函数,可以比计算所有距离更快地找到最近邻居,例如使用 kd 树。

关于python - 最近簇距离(无质心),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58839737/

相关文章:

python - OpenCV:跟踪在 2D 平面中移动的 3D 对象

python - 使用python的带有字典的配置文件

python - 包 Python3.7 不可用

python - 当我只在行中获得聚类时,如何微调 K 均值聚类?

python - DBSCAN 返回部分簇

optimization - sklearn的标准DBSCAN怎么跑的这么快?

python - 如何清除 python/django 中的代码缓存?

machine-learning - 尝试MOA流聚类算法denstream.WithDBSCAN时出现java.lang.NullPointerException(如何正确使用它?)

r - 在 R 中,如何在对数据进行聚类后绘制相似性矩阵(如 block 图)?

python - Sklearn 中的高维 DBSCAN