扩展 DBSCAN 集群 - minHash?

数据挖掘 机器学习 聚类 可扩展性 数据库扫描
2022-03-02 10:00:13

应用基于密度的聚类 (DBSCAN)50k数据点和关于2k-4k功能,我达到了预期的效果。

但是,将其缩放到10百万数据点需要创造性的高效实施,因为 DBSCAN 需要O(n2)计算距离矩阵并粉碎我的记忆。

必须有一些有效的基于采样的方法来克服这个问题,理想情况下类似于 minHash - 但我不确定如何解决这个问题,以及是否存在可以在现有 sklearn DBSCAN 算法上工作的解决方案。有任何想法吗?

1个回答

DBSCAN 是邻域搜索成本的 O(n) 倍。

如果您使用像 LSH 这样的索引可以在 O(1) 中回答邻域搜索(假设数据分布非常均匀,每个点有 O(1) 个邻居),那么 DBSCAN 可以在 O(n) 加上构建此类所需的时间一个索引。

是的,如果 minHash 索引适合您的数据和距离,则可以使用它们。