热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用Python实现余弦相似度计算

余弦相似度广泛应用于文本分类、图像识别等领域,用于衡量两个向量之间的相似程度。其值域在-1到1之间,数值越接近1表示两向量越相似,完全相同为1;相反方向时为-1;正交或不相关时为0。

余弦相似度是衡量两个非零向量夹角余弦值的指标,常用于文本分类、图像识别等场景中。它通过计算两个向量的点积除以它们的模长乘积来得出相似度。

具体来说,余弦相似度的取值范围为[-1, 1]。当两个向量的方向完全一致时,相似度为1;当它们方向相反时,相似度为-1;而当它们正交(即不相关)时,相似度为0。

为了计算余弦相似度,我们通常使用NumPy库中的np.linalg.norm函数来求解向量的L2范数,并利用np.dot函数进行点积运算。

import numpy as np

def cosine_similarity(a, b):
a_norm = np.linalg.norm(a)
b_norm = np.linalg.norm(b)
dot_product = np.dot(a, b)
return dot_product / (a_norm * b_norm)

# 示例数据
t1 = np.array([-0.4, 0.8, 0.5, -0.2, 0.3])
t2 = np.array([-0.5, 0.4, -0.2, 0.7, -0.1])

print(cosine_similarity(t1, t2))

上述代码展示了如何使用Python和NumPy库来计算两个向量的余弦相似度。通过这种方法,我们可以轻松地评估不同数据点之间的相似性,从而为各种应用场景提供支持。


推荐阅读
author-avatar
个阖家团圆
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有