应用基于密度的聚类 (DBSCAN)数据点和关于-功能,我达到了预期的效果。
但是,将其缩放到百万数据点需要创造性的高效实施,因为 DBSCAN 需要计算距离矩阵并粉碎我的记忆。
必须有一些有效的基于采样的方法来克服这个问题,理想情况下类似于 minHash - 但我不确定如何解决这个问题,以及是否存在可以在现有 sklearn DBSCAN 算法上工作的解决方案。有任何想法吗?
应用基于密度的聚类 (DBSCAN)数据点和关于-功能,我达到了预期的效果。
但是,将其缩放到百万数据点需要创造性的高效实施,因为 DBSCAN 需要计算距离矩阵并粉碎我的记忆。
必须有一些有效的基于采样的方法来克服这个问题,理想情况下类似于 minHash - 但我不确定如何解决这个问题,以及是否存在可以在现有 sklearn DBSCAN 算法上工作的解决方案。有任何想法吗?
DBSCAN 是邻域搜索成本的 O(n) 倍。
如果您使用像 LSH 这样的索引可以在 O(1) 中回答邻域搜索(假设数据分布非常均匀,每个点有 O(1) 个邻居),那么 DBSCAN 可以在 O(n) 加上构建此类所需的时间一个索引。
是的,如果 minHash 索引适合您的数据和距离,则可以使用它们。