1 介绍&数据预处理
1.1 根据已有的用户对item的评分, 来推荐下一个时间用户可能喜欢的items。
1.2 Pre-processing
只保存用户对item的评分为4 或者 5 的, 将这一类统一设置为1 , 其他所有的评分为1 2 3的或者unobserved全部设置为0
2 相似度计算
因为这是基于记忆力的单行为协同过滤, 所以需要计算用户和用户之间的similarity, 以及item和item之间的similarity,。
2.1 Jaccard相似度
>这个很好理解, 两个用户(或item)的并集的size除以两个用户(或item)交集的size
2.2 Cosine 相似度
>cosine相似度是将用户对item的评分当作一个向量, 然后求两个向量的夹角来评价两个向量的相似度
3 Prediction Rule
3.1 基于用户
ps:这里我们只对在数据预处理之后被设置为0的进行预测, 被设置为1的已经进行高评分了,这里不进行预测
上式表示的意思是,当想要对用户u , item j进行预测时 , 取对J评分过的所有用户, 在这些用户中选取topk个和用户U最相似的。这么处理的直观意思是如果对item J评分过的用户和用户U相似度很高的话, 那么用户U对item J高评分的概率也很大。
2.3 基于item
3 评价指标
从用户U的 r u i p r e {r_{ui}}^{pre} ruipre中选择topk个items , 和预测集进行比较(取交集), 这样来判断预测中了几个items
数据集使用ml100 k