Python:3 维空间中的 DBSCAN

标签 python cluster-analysis dbscan

我一直在寻找 3 维点的 DBSCAN 实现,但运气不佳。有谁知道我处理这个问题的图书馆或有这方面的经验吗?我假设 DBSCAN 算法可以处理 3 个维度,方法是将 e 值设为半径度量,并将点与点之间的距离设为欧氏分离。如果有人尝试实现此方法并愿意分享,我们也将不胜感激,谢谢。

最佳答案

您可以将 sklearn 用于 DBSCAN。这是一些对我有用的代码-

from sklearn.cluster import DBSCAN
import numpy as np
data = np.random.rand(500,3)

db = DBSCAN(eps=0.12, min_samples=1).fit(data)
labels = db.labels_
from collections import Counter
Counter(labels)

我得到的输出是-

Counter({1: 342, 10: 30, 31: 13, 13: 11, 30: 10, 24: 5, 29: 5, 2: 4, 18: 4,
19: 4, 28: 4, 49: 4, 3: 3, 17: 3, 23: 3, 32: 3, 7: 2, 9: 2, 12: 2, 14: 2, 15: 2,
16: 2, 20: 2, 21: 2, 26: 2, 39: 2, 41: 2, 46: 2, 0: 1, 4: 1, 5: 1, 6: 1, 8: 1, 11:
1, 22: 1, 25: 1, 27: 1, 33: 1, 34: 1, 35: 1, 36: 1, 37: 1, 38: 1, 40: 1, 42: 1,
43: 1, 44: 1, 45: 1, 47: 1, 48: 1, 50: 1, 51: 1, 52: 1, 53: 1, 54: 1, 55: 1})

因此,聚类识别了 55 个聚类,每个聚类中的点数如上所示。

关于Python:3 维空间中的 DBSCAN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26246015/

相关文章:

python - 导入错误 : No module named django. core.wsgi

python - Sqlalchemy 返回 SELECT 命令的不同结果(query.all)

php - 使用 k-means 进行文档聚类,聚类应该基于余弦相似度还是术语向量?

python - K 表示使用 PySpark 进行聚类

python - DBSCAN 中的替代相似性度量?

python - Python 中的 DBSCAN : Unexpected result

python - 在 Python 中搜索列表中的元素

python - 在一行中创建 n 个空字符串

r - 如何扩展 heatmap.2 中的树状图

opencv - 图像未使用 DBSCAN 正确分割