通过上面这些步骤,可以构建出一个基本的推荐系统。我们所要做的只是:构建涉及人员、物品和评价值的字典,然后借此来为用户提供建议。
注:关于上面引用的代码的具体解释,可以参考 《集体智慧编程》一书。基于协同过滤构建简单推荐系统(二)
continue
sim=similarity(prefs,person,other)
if sim<=0: continue
for item in prefs[other]:
if item not in prefs[person] or prefs[person][item]==0:
totals.setdefault(item,0)
totals[item]+=prefs[other][item]*sim
simSums.setdefault(item,0)
simSums[item]+=sim
rankings=[(total/simSums[item],item) for item,total in totals.items()]
rankings.sort()
rankings.reverse()
return rankings