2016-05-31 11 views

回答

0

如果您有兴趣计算余弦相似度,可以使用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'],因为其他人不支持处理稀疏度量输入。


文档,你可以进一步参考:Pairwise metrics, Affinities and Kernels