基于协同过滤构建简单推荐系统(二)

2014-11-24 17:06:36 · 作者: · 浏览: 1
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

通过上面这些步骤,可以构建出一个基本的推荐系统。我们所要做的只是:构建涉及人员、物品和评价值的字典,然后借此来为用户提供建议。

注:关于上面引用的代码的具体解释,可以参考 《集体智慧编程》一书。