使用sklearn自带公式计算余弦相似度
from sklearn.metrics.pairwise import cosine_similarity
a1=np.arange(15).reshape(-1,5)
a2=np.arange(20).reshape(4,5)
print(cosine_similarity(a1,a2))
输出结果:
[[1. 0.91465912 0.87845859 0.86154979]
[0.91465912 1. 0.99663684 0.99323905]
[0.87845859 0.99663684 1. 0.9994114 ]]
猜想,第一行的值是a1中的第一个样本与a2中所有的样本的余弦相似度;以此类推;
证明如下:
自定义一个函数:
def cosine_similarity2(vector,matrix):
size=len(matrix)
data_one_set=np.tile(vector,(size,1))
dot_product=data_one_set*matrix
dot_product_sum=dot_product.sum(axis=1)
data_one_set_sq=data_one_set**2
data_one_set_sq_sum=data_one_set_sq.sum(axis=1)
data_one_set_magnitude=data_one_set_sq_sum**0.5
matrix_sq=matrix**2
matrix_sq_sum=matrix_sq.sum(axis=1)
matrix_sq_sum_magnitude=matrix_sq_sum**0.5
ratio=dot_product_sum/(data_one_set_magnitude*matrix_sq_sum_magnitude)
return ratio
a1=np.arange(5).reshape(-1,5)
a2=np.arange(20).reshape(4,5)
print(cosine_similarity(a1,a2))
print(cosine_similarity2(a1,a2))
结果输出:
[[1. 0.91465912 0.87845859 0.86154979]]
[1. 0.91465912 0.87845859 0.86154979]
足以证明猜想的正确性;
使用sklearn自带公式计算余弦相似度相关推荐
- php数据分析引擎,PHP数据分析引擎计算余弦相似度算法示例
php 的 PHP数据分析引擎计算余弦相似度算法示例 本文实例讲述了PHP数据分析引擎计算余弦相似度算法.分享给大家供大家参考,具体如下: 关于余弦相似度的相关介绍可参考百度百科: /** * 数据分 ...
- pytorch计算余弦相似度
在pytorch中,可以使用torch.cosine_similarity函数对两个向量或者张量计算余弦相似度.先看一下pytorch源码对该函数的定义: class CosineSimilarity ...
- NLP-文本匹配-2016:MaLSTM(ManhaĴan LSTM,孪生神经网络模型)【语句相似度计算:用于文本对比,内容推荐,重复内容判断】【将原本的计算余弦相似度改为一个线性层来计算相似度】
<MaLSTM原始论文:Siamese Recurrent Architectures for Learning Sentence Similarity> MaLSTM模型(ManhaĴa ...
- 相似度算法 php,PHP计算余弦相似度算法
这篇文章主要介绍了PHP数据分析引擎计算余弦相似度算法,结合具体实例形式分析了php计算余弦相似度的操作步骤与相关实现技巧,需要的朋友可以参考下 本文实例讲述了PHP数据分析引擎计算余弦相似度算法.分 ...
- java计算余弦相似度
您可以使用以下java代码来计算余弦相似度 import java.util.List;public class CosineSimilarity {public static double cosi ...
- python用角度计算余弦值_Python 使用sklearn计算余弦相似度
背景 在计算相似度时,常常用到余弦夹角来判断相似度,Cosine(余弦相似度)取值范围[-1,1],当两个向量的方向重合时夹角余弦取最大值1,当两个向量的方向完全相反夹角余弦取最小值-1,两个方向正交 ...
- mysql计算余弦相似度_余弦相似度公式及推导案例
定义 余弦相似度通过测量两个向量的夹角的余弦值来度量它们之间的相似性.0度角的余弦值是1,而其他任何角度的余弦值都不大于1:并且其最小值是-1.从而两个向量之间的角度的余弦值确定两个向量是否大致指向相 ...
- 从利用gensim 训练好的word2vec模型中取出向量并计算余弦相似度,Levenshtein distance 计算
1.Levenshtein distance 表示两个字符串之间,由一个转成另一个所需的最少编辑次数,允许的操作有:替换.插入和删除 导入包: import Levenshtein #Levensht ...
- 使用Keras计算余弦相似度(Cosine Similarity)
因为Merge函数在Keras新版本中已经不再使用了,在计算批次余弦相似度时,需要自定义函数.余弦相似度定义如下: 要计算两个向量相似度有如下步骤: 分别计算两个向量l2范式,计算两个向量的点乘 点乘 ...
最新文章
- php 实现 pacs 系统,影像管理系统(PACS)
- MySQL常见面试题与答案
- Atitit.ui控件---下拉菜单选择控件的实现select html
- 多个相同name的文本输入框,输入其中一个后,使剩下的不能输入值
- html 怎么让整体居中,html中表格整体居中 详解html里面如何让表格居中
- 统计学考研笔记:正态分布置信区间计算题
- python输出完全平方数_LeetCode 279*. 完全平方数(Python)
- Win10+Vmvare+Ubuntu16.04lts的主机为英伟达TX2重装Ubuntu18.04操作系统
- linux下怎么识别fioa卡,UNRAID使用NVIDIA显卡(直通篇)
- 4.2京东登陆界面上部分
- python 节点关系图_在Python中如何分析和识别有向图关系(节点间)
- 如何提升企业形象?写字楼门禁是第一关
- python三级_Python三级目录展示方法
- encode deencode
- 格雷码转换成二进制c语言程序,格雷码与二进制的转换程序
- 噗浪(Plurk)创办人 -- 云惟彬:低薪陷阱 廉价的薪水 等待的成本
- WPF_MahApps.Metro界面主题使用
- [AE] ArcGIS Engine - 基础知识 - AE|AO|GIS开发模式
- win7无线打印机无法连接到服务器,win7连不上网络打印机怎么连接
- 基于RTT的espWiFi连接OneNet云端
热门文章
- python中super的用法实例解析
- python3进行汉字和unicode码的转换
- python 用turtle库画围棋棋盘和正、余弦函数图形
- 服务器异常下电文件系统,SUN服务器Solaris异常情况下恢复操作步骤(8页)-原创力文档...
- 辽宁省2021年高考成绩位次查询,辽宁2021八省联考分数、位次表(非官方),附志愿填报样表...
- 连接wifi的主机设置静态ip(固定ip)后无法上网的原因
- cm是什么域名_CM域名
- Linux挂载新磁盘
- canal应用四:canal-adapter的使用
- zabbix 2.2 监控mysql_Zabbix-2.2.2监控MySQL的复制-阿里云开发者社区