余弦相似度python实现

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

余弦数学直观.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,表示两个向量近乎于正交

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。