皮尔森相似度:
皮尔森(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)) #打印结果
最终得出结果,相似度越大,也就是相关系数越高,说明两者之间关联性越高。