推荐系统实战之——基于物品的协同过滤推荐ItemCF

2020-06-08  本文已影响0人  易码当先

目录

1、基于物品协同过滤(Item-CF-Based)算法原理

2、Item-CF-Based算法流程

3、python实现

4、总结


Item-CF-Based算法原理:基于物品协同过滤推荐是通过不同对Item的评分来评测Item之间的相似性,从而基于Item的相似性做推荐。简单的说就是给用户推荐他之前喜欢物品的相似物品。


算法流程:

1、建立物品倒排表

Item倒排

2、根据倒排表,构建同现矩阵(物品共同评分用户数)

物品同现矩阵

结合Item相似度计算公式:W_{(i,j)} = \frac {|N_{(i)} \cap N_{(j)}|}{|N_{(i)} |}  ,可得物品相似度矩阵

物品相似度矩阵

3、计算预测评分,ItemCF通过公式:计算用户u对物品i的兴趣P_{(u,i)} =\sum_{j\in S(j,K)\cap N(u)}W_{(i,j)}\gamma_{(u,j)}  其中

N_{u}: 用户喜欢的物品集合;

S(j,K):和物品j最相似的K个物品的集合;

W_{ij} :物品i和j的相似度;

\gamma_{uj} :用户u对物品j的兴趣评分

从公式可知:与用户历史上喜欢的物品相似度高的物品,越会打分靠前排在推荐列表前面。


python实现:https://github.com/SolodanceMagicq/RecommendSys/tree/master/CF/ItemCF


总结:ItemCF与UserCF类似,都是协同过滤推荐算法。其不同是前者基于和历史物品的相似度推荐,是物以类聚思想,倾向于个性化推荐;后者按人以群分思想,更偏向于热点内容推荐。

上一篇 下一篇

猜你喜欢

热点阅读