from math import sqrt
users3 = {"David": {"Imagine Dragons": 3, "Daft Punk": 5,
"Lorde": 4, "Fall Out Boy": 1},
"Matt": {"Imagine Dragons": 3, "Daft Punk": 4,
"Lorde": 4, "Fall Out Boy": 1},
"Ben": {"Kacey Musgraves": 4, "Imagine Dragons": 3,
"Lorde": 3, "Fall Out Boy": 1},
"Chris": {"Kacey Musgraves": 4, "Imagine Dragons": 4,
"Daft Punk": 4, "Lorde": 3, "Fall Out Boy": 1},
"Tori": {"Kacey Musgraves": 5, "Imagine Dragons": 4,
"Daft Punk": 5, "Fall Out Boy": 3}}
def computeSimilarity(band1,band2,userRatings):
average = {}
#求出每一个user评价物品的均值
for (key,ratings) in userRatings.items():
average[key] = (float(sum(ratings.values())) / len(ratings.values()))
num = 0 #分子
dem1 = 0 #分母一部分
dem2 = 0 #分母另一部分
for (user,ratings) in userRatings.items():
if band1 in ratings and band2
基于物品的协同过滤_修正的余弦相似度
最新推荐文章于 2025-01-20 21:22:42 发布

该博客介绍了一种基于物品的协同过滤方法,通过计算用户对不同物品评分的余弦相似度来评估物品之间的关联性。具体实现中,首先计算每个用户对所有物品的平均评分,然后根据用户对特定物品的评分与平均评分的差值来计算相似度,最后返回两个物品的相似度分数。
最低0.47元/天 解锁文章

1775

被折叠的 条评论
为什么被折叠?



