当可比的手动计算速度很快时,sklearn成对余弦_相似性挂起

时间:2018-12-02 22:53:07

标签: python scikit-learn cosine-similarity

我通过余弦相似性将大型稀疏向量聚类。我没有使用标准化的聚类算法,而是亲自编写了实现。我认为我可能没有正确使用sklearn.metrics.pairwise.cosine_similarity,但是经过大量调试后我仍然看不到问题。

更具体地说,我有两个向量:

>>> v1
<1x1099511627776 sparse matrix of type '<class 'numpy.int64'>'
    with 227 stored elements in Compressed Sparse Row format>
>>> v2
<1x1099511627776 sparse matrix of type '<class 'numpy.int64'>'
        with 48 stored elements in Compressed Sparse Row format>
>>> simm = cosine_similarity(v1, v2, dense_output=False) # hangs

或者,我可以在两个向量中创建非零项的字典,并手动计算出余弦相似度。

我认为部分问题可能在于我选择的数据表示形式。我试图找到最快的方法来计算余弦相似度,而且我不明白为什么scikit操作会无限期地挂在两个向量上。我使用CSR矩阵不正确吗?这项手术不是为了接管他们吗?

0 个答案:

没有答案