有没有一种方法可以计算一个稀疏向量和矩阵之间的相似性



如何计算一个稀疏向量和一个矩阵(即稀疏向量数组)之间的相似性(例如余弦)
使用scikit learn、scipy、numpy等是否可能。?如果可能的话,相似性度量应该很容易改变。

如果您有兴趣计算余弦相似性,可以使用sklearn中的cosine-similarity度量功能来完成,如果输入是矩阵形式,则返回距离矩阵。

插图:

import numpy as np
from sklearn.metrics.pairwise import pairwise_distances
mat_1 = np.matrix([[1,2,3],[3,4,5]])
vec_1 = (2, 3, 5)
# Make sure the dimensions of the vector and matrix are equal
>>>print pairwise_distances(mat_1, vec_1, metric = 'cosine')
[[ 0.00282354]
[ 0.01351234]]

注意:如果您打算更改距离度量,可以在度量参数中添加适当的名称。但是,如果您的输入包含稀疏矩阵,则只能使用度量['cityblock', 'cosine', 'euclidean', 'l1', 'l2', 'manhattan'],因为不支持其他度量来处理稀疏度量输入。


您可以进一步参考的文档:成对度量、仿射和核

相关内容

  • 没有找到相关文章

最新更新