推荐系统:寻找相近的用户——皮尔逊相关度评价

本文介绍了皮尔逊相关度的概念及其在衡量用户兴趣相似度中的应用。通过具体实例展示了如何计算皮尔逊相关系数,并解释了其相较于欧几里德距离的优势。
部署运行你感兴趣的模型镜像

皮尔逊相关度,其实就是我们数学里面说的相关系数。为什么我们这里又要用这个皮尔逊相关度来衡量用户之间的相近程度呢?那是因为可能存在这样的情况,某人和我的爱好都是一样的,但是他在打分的时候总是相对于我偏高或者是偏低,如果按照先前的欧几里德来评价,或许给出的结论是他与我的爱好并不相同,所以又提出了一种皮尔逊相关度评价标准,可以在这种情况下给出比较好的结论。相关系数大家应该比较了解,代码如下:

from math import sqrt
def sim_person(prefs,p1,p2):
	si={}
	for item in prefs[p1]:
		if item in prefs[p2]:
			si[item]=1
	n=len(si)

	if n==0:
		return 0
	#	
	
	sum1=sum([prefs[p1][item] for item in si])
	sum2=sum([prefs[p2][item] for item in si])

	
	sum1Sq=sum([pow(prefs[p1][item],2) for item in si])
	sum2Sq=sum([pow(prefs[p2][item],2) for item in si])

	
	pSum=sum([prefs[p1][item]*prefs[p2][item] for item in si])

	
	num=n*pSum-sum1*sum2
	den=sqrt(n*sum1Sq-pow(sum1,2))*sqrt(n*sum2Sq-pow(sum2,2))
	if den==0:
		return 0
	r=num/den

	#print r
	return r


您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值