我需要计算推荐系统里面两个条目的相似程度,我采用余弦距离。
在python里调用了scipy
>>> from scipy.spatial import distance
>>> a = [-1, -2, 3]
>>> b = [2, 1, -2]
>>> distance.cosine(a,b)
1.8908708063747479
这个向量a和b的夹角余弦大于1了?这个是什么情况?哪里错了吗?
1个回答
你说的是cosine distance还是cosine similarity.
distance.cosine(a,b)是计算余弦距离的
1 - distance.cosine(a,b)是计算余弦相似的。
>>> from scipy.spatial import distance
>>> a = [-1, -2, 3]
>>> b = [2, 1, -2]
>>> 1 - distance.cosine(a,b)
-0.890870806374747