余弦相似度和余弦距离之间的差异

问题描述 投票:1回答:1

看起来像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||

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

python scikit-learn scipy cosine-similarity
1个回答
2
投票

很好的问题,是的,这是两个不同的东西,但由以下等式联系:

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


但是为什么?

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

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

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

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


参考Scipy wolfram

From scipy

© www.soinside.com 2019 - 2024. All rights reserved.