两个向量的余弦距离大于1?

  统计/机器学习 推荐系统 Python    浏览次数: 1248
0

我需要计算推荐系统里面两个条目的相似程度,我采用余弦距离。

在python里调用了scipy

>>> from scipy.spatial import distance
>>> a = [-1, -2, 3]
>>> b = [2, 1, -2]
>>> distance.cosine(a,b)
1.8908708063747479

这个向量a和b的夹角余弦大于1了?这个是什么情况?哪里错了吗?

 

杨业勇   2017-04-01 13:00



   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


派大星   2017-04-02 13:58



  相关主题

推荐系统中常用的表示相似或者距离的方法有哪些?   1回答

余弦相似和内积的意义?   1回答

推荐系统算法里的cold start是什么意思?   2回答

推荐系统里的ALS是什么意思?   2回答

Jaccard相似或者Jaccard距离是怎么计算的?   1回答

协同过滤的数据预处理问题   4回答

怎么理解推荐系统中的NDCG?   1回答

推荐系统有哪些常用的评价标准   3回答

推荐系统中的召回(recall)是什么意思?   1回答

关于pairwise ranking数据预处理的问题   0回答

python里怎么计算jaccard相似   2回答

余弦相似的定义是什么?怎么计算?   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!