余弦相似度VS余弦距离有什么区别?

时间:2019-10-14 16:56:59

标签: python scikit-learn scipy cosine-similarity

它看起来像scipy.spatial.distance.cdist余弦相似距离:

link to cos distance 1

1 - u*v/(||u||||v||)

与 sklearn.metrics.pairwise.cosine_similarity

link to cos similarity 2

 u*v/||u||||v||

有人知道使用不同定义的原因吗?

1 个答案:

答案 0 :(得分:2)

很好的问题,但是的,这是两件不同的事情,但由以下等式联系:

  

余弦距离= 1-余弦相似度


但是为什么?

通常,人们使用余弦相似度作为向量之间的相似度度量。现在,距离可以定义为1-cos_similarity。

这背后的直觉是,如果2个向量完全相同,则相似度 1 (角度= 0),因此,距离 0 (1-1 = 0)。

类似地,您可以为所得相似度值范围定义余弦距离。

余弦相似度范围:-1表示完全相反,1表示完全相同,0表示正交。


参考文献Scipy wolfram

From scipy