机器学习基础(三十四)—— 协同过滤(之获得推荐)
来源:互联网 发布:网络机顶盒怎么用 编辑:程序博客网 时间:2024/06/09 19:15
为未被某人评分的电影的进行打分,我们当然可以查找品味与此人最为接近(依据相似性度量)的人的相应评分,但是这样做过于简单和随意(permissive)。这种做法的问题在于:我们会找到一个热衷某部电影的古怪评论者,而根据 topMatch 的结果,所有其他的评论者都不看好这部电影。也即将评分完完全全依赖于一个未知可信度的人的评分是有风险的。所以一种稳妥的做法即是根据用户之间的相似度对打分进行加权平均(weighted average)。
def getRecommendations(prefs, p0, similarity=sim_pearson): totalSum, simSum = {}, {} for p in prefs: if p == p0: continue sim = similarity(p0, p) if sim <= 0: continue for item in prefs[p]: if item not in prefs[p0] or prefs[p0][item] == 0: simSum.setdefault(item, 0) simSum[item] += sim totalSum.setdeault(item, 0) totalSum[item] += prefs[p][item]*sim rankings = [(item, totalSum[item]/simSum[item]) for item in totalSum] return sorted(rankings, key=operator.itemgetter(1), reverse=True)
0 0
- 机器学习基础(三十四)—— 协同过滤(之获得推荐)
- 机器学习算法(推荐算法)—协同过滤推荐算法(1)
- 机器学习算法(推荐算法)—协同过滤推荐算法(2)
- 机器学习基础(三十五)—— 协同过滤(从匹配用户到匹配商品)
- 推荐系统学习(二)——协同过滤算法
- 机器学习之基于协同过滤的推荐引擎
- 机器学习----推荐系统之协同过滤算法
- [机器学习]推荐系统之协同过滤算法
- 机器学习之协同过滤
- 机器学习之协同过滤
- 推荐系统——协同过滤学习
- 推荐系统之协同过滤(CF)
- 机器学习相关——协同过滤
- 机器学习相关——协同过滤
- 机器学习相关——协同过滤
- 机器学习相关——协同过滤
- 机器学习相关——协同过滤
- 机器学习相关——协同过滤
- C++第三次实验 作业
- 环形队列
- 个人感悟
- svn回退到历史版本
- Java数据库连接池的几种配置方法(以MySQL数据库为例)
- 机器学习基础(三十四)—— 协同过滤(之获得推荐)
- Java ActiveMQ 讲解(一)理解JMS 和 ActiveMQ基本使用
- idea破解方案之搭建本地破解
- 山东省赛一1 Phone Number
- 类型转换函数
- 基于kafka的大量httpRequest队列控制及mergeRequest机制
- Nodejs 回调函数中的坑以及中间件的用法
- UVa-10817 Headmaster's Headache (位运算)
- Swift中的"单列"