美文网首页
余弦相似度python实现

余弦相似度python实现

作者: thelong的学习日记 | 来源:发表于2019-07-21 16:06 被阅读0次

通过夹角的大小,来判断向量的相似程度。夹角越小,就代表越相似。

余弦数学直观.png

余弦相似度是文本相似度度量中使用较多的一种方法,对于两个向量X和Y,其对应的形式如下:
X=(x1,x2...,xn)
Y=(y1,y2...,yn)
其向量的余弦相似度公式为:


余弦公式

X,Y对应其中的A和B


python实现:

import numpy as np
import math
def consim(x,y):
    a=np.sum(x*y.T)
    b=np.sqrt(np.sum(x*x.T))*np.sqrt(np.sum(y*y.T))
    return  (a/b)

a=np.array([0,1])
b=np.array([math.sqrt(3.0)/2,1/2])
print (consim(a,b))

输出结果:0.5000000000000001
结果越接近1,夹角就越接近0,代表越相似。
越趋近于-1,他们的方向越相反;接近于0,表示两个向量近乎于正交

相关文章

网友评论

      本文标题:余弦相似度python实现

      本文链接:https://www.haomeiwen.com/subject/ehtvlctx.html