推荐系统学习:协同过滤实现

阿里大数据竞赛的第一季也即将告一段落,之前一直想发篇竞赛心得/攻略,但是看到有人发的博客居然被阿里查封了就不敢了…扯远了,这篇文章主要总结下自己看了项亮的《推荐系统实践》后的学习笔记。作为入门,这么书确实写的不错。

推荐系统的评测指标

为了评估推荐算法的好坏需要各方面的评估指标。

●准确率

准确率就是最终的推荐列表中有多少是推荐对了的。

●召回率

召回率就是推荐对了的占全集的多少。

下图直观地描述了准确率和召回率的含义

推荐系统学习:协同过滤实现_第1张图片

●覆盖率

覆盖率表示推荐的物品占了物品全集空间的多大比例。

●新颖度

新颖度是为了推荐长尾区间的物品。用推荐列表中物品的平均流行度度量推荐结果的新颖度。如果推荐出的物品都很热门,说明推荐的新颖度较低,否则说明推荐结果比较新颖。

各个评测指标的代码实现如下:

#train为训练集合,test为验证集合,给每个用户推荐N个物品

#召回率和准确率

def RecallAndPrecision(self,train=None,test=None,K=3,N=10):

train = train or

你可能感兴趣的:(算法,python,推荐系统,协同过滤,深度学习)