本篇文章小编给大家分享一下Python求向量的余弦值操作代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。

1、余弦相似度

余弦相似度衡量的是2个向量间的夹角大小,通过夹角的余弦值表示结果,因此2个向量的余弦相似度为:

余弦相似度的取值为[-1,1],值越大表示越相似。

向量夹角的余弦公式很简单,不在此赘述,直接上代码:

def cosVector(x,y):

if(len(x)!=len(y)):

print('error input,x and y is not in the same space')

return;

result1=0.0;

result2=0.0;

result3=0.0;

for i in range(len(x)):

result1+=x[i]*y[i] #sum(X*Y)

result2+=x[i]**2 #sum(X*X)

result3+=y[i]**2 #sum(Y*Y)

#print(result1)

#print(result2)

#print(result3)

print("result is "+str(result1/((result2*result3)**0.5))) #结果显示

cosVector([2,1],[1,1])

一个计算二维数组余弦值的例子:

#求余弦函数

def cosVector(x,y):

if(len(x)!=len(y)):

print('error input,x and y is not in the same space')

return;

result1=0.0;

result2=0.0;

result3=0.0;

for i in range(len(x)):

result1+=x[i]*y[i] #sum(X*Y)

result2+=x[i]**2 #sum(X*X)

result3+=y[i]**2 #sum(Y*Y)

#print("result is "+str(result1/((result2*result3)**0.5))) #结果显示

return result1/((result2*result3)**0.5)

#print("result is ",cosVector([2,1],[1,1]))

#计算query_output(60,20)和db_output(60,20)的余弦值,用60*1的向量存储

cosResult= [[0]*1 for i in range(60)]

for i in range(60):

cosResult[i][0]=cosVector(query_output[i], db_output[i])

print(cosResult)

--------------------------------------------------------------------------------------------

#计算query_output和db_output的余弦值,用60*1的向量存储

rows=query_output.shape[0] #行数

cols=query_output.shape[1] #列数

cosResult= [[0]*1 for i in range(rows)]

for i in range(rows):

cosResult[i][0]=cosVector(query_output[i], db_output[i])

#print(cosResult)

#将结果存入文件中,并且一行一个数字

file=open('cosResult.txt','w')

for i in cosResult:

file.write(str(i).replace('[','').replace(']','')+'\n') #\r\n为换行符

file.close()

python 余弦值,Python求向量的余弦值操作代码示例相关推荐

  1. python输出字典_Python如何将字典键和值拆分为单独的列表?(代码示例)

    在Python中如何将给定字典拆分为键和值的列表?下面本篇文章就来给大家介绍几种实现方法,希望对大家有所帮助.[视频教程推荐:Python教程] 方法一:使用内置函数:keys()和values() ...

  2. python导入txt文件并绘图-Python实现读取txt文件并画三维图简单代码示例

    记忆力差的孩子得勤做笔记! 刚接触python,最近又需要画一个三维图,然后就找了一大堆资料,看的人头昏脑胀的,今天终于解决了!好了,废话不多说,直接上代码! #由三个一维坐标画三维散点 #codin ...

  3. python读取txt文件代码-Python实现读取txt文件并画三维图简单代码示例

    记忆力差的孩子得勤做笔记! 刚接触python,最近又需要画一个三维图,然后就找了一大堆资料,看的人头昏脑胀的,今天终于解决了!好了,废话不多说,直接上代码! #由三个一维坐标画三维散点 #codin ...

  4. python输入两个数求差_python差值_python差值法_python求差值 - 云+社区 - 腾讯云

    广告关闭 回望2020,你在技术之路上,有什么收获和成长么?对于未来,你有什么期待么?云+社区年度征文,各种定制好礼等你! 环境依赖api 网关提供 python 2.7 和 python 3 两个版 ...

  5. matlab求下列表达式的值,编程求下列表达式的值

    typedef D. _123 2.下列表达式的值哪些不等于 0? A. 2&g... #define M 5 main() { int n,c; n=2; c=M*n; 精彩文档 print ...

  6. python中scale的用法_Python Decimal scaleb()用法及代码示例

    Decimal#scaleb():scaleb()是一个Decimal类方法,该方法将第二个值与其exp相加后返回第一个操作数. 用法:Decimal.scaleb() 参数:十进制值 返回:将第二个 ...

  7. python pandas excel 排序_Python pandas对excel的操作实现示例

    最近经常看到各平台里都有Python的广告,都是对excel的操作,这里明哥收集整理了一下pandas对excel的操作方法和使用过程.本篇介绍 pandas 的 DataFrame 对列 (Colu ...

  8. python中图例legend标签内容_matplotlib设置legend图例代码示例

    matplotlib设置legend图例代码示例 本文主要是关于matplotlib的一些基本用法. Demo import matplotlib.pyplot as plt import numpy ...

  9. python pyplot bar 参数_Python Matplotlib.pyplot.barh()用法及代码示例

    条形图或条形图是一种图形,用长条和长条与它们所代表的值成比例的矩形条表示数据类别.条形图可以水平或垂直绘制.条形图描述了离散类别之间的比较.曲线的一个轴代表要比较的特定类别,而另一个轴代表与那些类别相 ...

  10. python pyqt教程_python使用PyQt5的详细教程(代码示例)

    本篇文章给大家带来的内容是关于python使用PyQt5的详细教程(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一:安装PyQt5pip install pyqt5 二 ...

最新文章

  1. java File类 常用相关函数
  2. PHP URL处理关键函数parse_url、parse_str与http_build_query
  3. CSS设置动态超链接
  4. 操作系统之进程调度——优先权法和轮转法(附上样例讲解)
  5. 呼市计算机应用那个职高好,呼和浩特职业高中哪个比较好
  6. 从像素坐标到相机坐标_相机标定方法
  7. C++STL(set……)
  8. 超牛!读博期间,他以第一作者发表7篇文章
  9. java反射用法示例_Java包| 类型,用法,示例
  10. 新装oracle密码文件,oracle密码文件的重建
  11. 18. javacript高级程序设计-JavaScript与XML
  12. java 注入日志_java框架学习日志-5(常见的依赖注入)
  13. GDUFE ACM-1030
  14. *福音*阿里云redis5.0.*集群搭建及java代码测试详细(终于不用ruby了)
  15. Java基础0308
  16. Spring事务管理(二)分布式事务管理之JTA与链式事务
  17. matlab安装软件 Matlab视频教程李大勇 MATLAB程序开发入门课程 MATLAB神经网络30个案例分析及源程序
  18. 3ds MAX 2016破解激活详细步骤分享
  19. Python日期时间格式转换
  20. pycharm专业版使用

热门文章

  1. 基于javaweb+jsp的房屋租赁管理系统(java+SSM+Layui+Maven+Mysql+Jsp)
  2. 冰点还原精灵V8.37.020系统还原软件
  3. 怎样用Python识别条形码?
  4. java jdom 设置第1行_使用JDOM操作XML
  5. 实验室虚拟仿真建设之技术选型剖析
  6. php考试自动评分,excel操作题自动评分
  7. 计算机电子表格相关简答题,2017年计算机一级excel操作试题及答案
  8. vue+element+springboot前后端分离项目整合pageoffice实现在线编辑Word和Excel跟签章等
  9. RS422-RS485-RS232标准接线
  10. 第十章 隐马尔可夫模型