机器学习之余弦相识度初解(基础)

余弦相似度:
计算向量之间的角度值:
创建向量
import numpy as np
x = np.array([3, 5])
y = np.array([4, 2])
计算两个向量的长度
lx = np.sqrt(x.dot(x))  (x.dot(x)是点乘,计算平方和)
ly = np.sqrt(y.dot(y))
计算余弦值,即cos值
cos = x.dot(y)/(lx*ly)  (向量夹角求值为两个向量相乘除以两个向量的模(范数)相乘的值)
将余弦值转化为弧度值
cos1 = np.arccos(cos)
将弧度值转化为度数值
cos2 = cos1*360/2/np.pi(计算度数值为弧度值除以180度除以π)
print(cos2)     
### 32.47119229084849

方法二

计算矢量的范数(长度)
lx = np.linalg.norm(x)  (取自线代思想)
ly = np.linalg.norm(y)
计算余弦值
cos = x.dot(y)/(lx*ly)
计算弧度值
cos1 = np.arccos(cos)
计算度数值
cos2 = np.rad2deg(cos1)
print(cos2)
### 32.47119229084849

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值