我正在使用scikit-learn来聚集大量数据。我有一个大的稀疏矩阵(44104乘755144个元素,其中大多数是0)。我想使用DBSCAN进行聚类,因为它对我的问题有意义,因为它允许我不指定聚类的数量。
似乎可以将DBSCAN与稀疏数据一起使用,这也在这里讨论In scikit-learn, can DBSCAN use sparse matrix?。
但是,如果我要使用dice metric,似乎存在一些问题。在实现DBSCAN的dbscan_.py中,我可以删除该行:
X = np.asarray(X)
这对我的稀疏矩阵不起作用,但后来我遇到了问题:
neighbors_model = NearestNeighbors(radius=eps, algorithm=algorithm,
leaf_size=leaf_size,
metric=metric, p=p)
neighbors_model.fit(X)
我收到错误:
ValueError: metric 'dice' not valid for sparse input
有没有充分的理由说骰子指标对于稀疏输入无效,还是我可以自己实现的?