Код:
def get_recommendations(rating, user, similarity=pearson):
totals={}
simSums={}
for other in rating:
#don't compare me to myself
if other==user: continue
sim=similarity(rating,user,other)
#Ignore scores of zero or lower
if sim<=0: continue
for item in rating[other]:
#Only score movies I haven't seen yet
if item not in rating[user] or rating[user][item]==0:
#Similarity * score
totals.setdefault(item,0) totals[item]+=rating[other][item]*sim
#Sum of Similarities
simSums.setdefault(item,0)
simSums[item]+=sim
#Create the normalised list
rankings=[(total/simSums[item],item) for item, total in totals.items()]
#Return the sorted list
rankings.sort()
rankings.reverse()
return rankings
Я пытаюсь найти невидимые фильмы для пользователя, а затем создать рейтинг для этих фильмов, а затем ранжировать их.Тем не менее, мой результат приносит следующую ошибку.
Когда я удаляю «total [item] + = rating [other] [item] * sim», код работает, однако рейтинги выводятся как 0, а не как накопленный рейтинг.
Может кто-нибудь помочь, пожалуйста?