200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > sklearn 相似度矩阵_Python 使用sklearn计算余弦相似度

sklearn 相似度矩阵_Python 使用sklearn计算余弦相似度

时间:2023-11-13 19:48:00

相关推荐

sklearn 相似度矩阵_Python 使用sklearn计算余弦相似度

背景

在计算相似度时,常常用到余弦夹角来判断相似度,Cosine(余弦相似度)取值范围[-1,1],当两个向量的方向重合时夹角余弦取最大值1,当两个向量的方向完全相反夹角余弦取最小值-1,两个方向正交时夹角余弦取值为0。

在实际业务中运用的地方还是挺多的,比如:可以根据历史异常行为的用户,找出现在有异常行为的其他用户;在文本分析领域,可以根据一些文章,找出一些相似文章(把文章转换为向量)。

计算相似度的方法除了余弦夹角,还可以利用距离来判断相似,距离越近越相似,这里不做详细展开。

自定义函数法

import numpy as np

def cosine_similarity(x,y):

num = x.dot(y.T)

denom = np.linalg.norm(x) * np.linalg.norm(y)

return num / denom

输入两个np.array向量,计算余弦函数的值

cosine_similarity(np.array([0,1,2,3,4]),np.array([5,6,7,8,9]))

#0.9146591207600472

cosine_s

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。