0基础人工智能高数学习之路-----皮尔森相似度9

皮尔森相似度:

皮尔森(person)相似度的作用是检验两组数据之间的相似度,也叫作相关系数(correlation  coefficent),计算之后的结果,如果皮尔森相似度越高,说明两组数据相关性越大。

例:

比如考察一些用户给餐厅进行评分,有的分数很高有的是0分,想求出用户评分的相似度,这种就正好可以使用皮尔森相似度。

该公式如下:

1、首先把用户所作出的评分,描述为一个多维的向量User1的评分和User2的评分;

2、求出两个向量的点积,也就是让这两个向量相乘,然后求和。

3、求出两个向量的长度并相乘。

4、最后通过公式来计算出相关系式:相似系数 = (1+两个变量的点积)/两个向量长度相乘;

import numpy as np
from numpy import linalg as la

u = np.array(num1)  #导入数组1 num1中导入你的向量
v = np.array(num2)   #导入数组2 num2中导入第二个向量
dot_product = np.dot(u,v)  #求u与v的点积,也就是两个向量的乘法
denom = la.norm(u)*la.norm(v)  #la.norm函数是求向量的长度,然后相乘
print(0.5+0.5*(dot_product/denom))  #打印结果

最终得出结果,相似度越大,也就是相关系数越高,说明两者之间关联性越高。

猜你喜欢

转载自blog.csdn.net/qq_42452134/article/details/82316792