1700498970
假设有如下电子商务评分数据集,预测用户C对商品4的评分,见表3-6。
1700498971
1700498972
1700498973
1700498974
1700498975
表中?表示评分未知。根据基于用户的协同过滤算法步骤,计算用户C对商品4的评分,其步骤如下所示。
1700498976
1700498977
(1)寻找用户C的邻居
1700498978
1700498979
从数据集中可以发现,只有用户A和用户D对商品4评过分,因此候选邻居只有2个,分别为用户A和用户D。用户A的平均评分为4,用户C的平均评分为3.667,用户D的平均评分为3。根据皮尔逊相关系数公式来看,用户C和用户A的相似度为:
1700498980
1700498981
1700498982
1700498983
1700498984
同理,s(C,D)=-0.515。
1700498985
1700498986
(2)预测用户C对商品4的评分
1700498987
1700498988
根据上述评分预测公式,计算用户C对商品4的评分,如下所示:
1700498989
1700498990
1700498991
1700498992
1700498993
依此类推,可以计算出其他未知的评分。
1700498994
1700498995
2.基于项目的协同过滤
1700498996
1700498997
基于项目(Item-Based)的协同过滤算法是常见的另一种算法。与User-Based协同过滤算法不一样的是,Item-Based协同过滤算法计算Item之间的相似度,从而预测用户评分。也就是说该算法可以预先计算Item之间的相似度,这样就可提高性能。Item-Based协同过滤算法是通过用户评分数据和计算的Item相似度矩阵,从而对目标Item进行预测的。
1700498998
1700498999
和User-Based协同过滤算法类似,需要先计算Item之间的相似度。并且,计算相似度的方法也可以采用皮尔逊关系系数或者余弦相似度,这里给出一种电子商务系统常用的相似度计算方法,即基于条件概率计算Item之间的相似度,计算公式如下所示:
1700499000
1700499001
1700499002
1700499003
1700499004
其中,s(i,j)表示项i和j之间的相似度;freq(i∩j)表示i和j共同出现的频率;freq(i)表示i出现的频率;freq(j)表示j出现的频率;α表示阻力因子,主要用于平衡控制流行和热门的Item,譬如电子商务中的热销商品等。
1700499005
1700499006
接下来,根据上述计算的Item之间的相似度矩阵,结合用户的评分,预测未知评分。预测公式如下所示:
1700499007
1700499008
1700499009
1700499010
1700499011
其中,pu,i表示用户u对项i的预测评分;S表示和项i相似的项集;s(i,j)表示项i和j之间的相似度;ru,j表示用户u对项j的评分。
1700499012
1700499013
3.Item-Based协同过滤实例
1700499014
1700499015
在电子商务推荐系统中,商品相似度计算有着很重要的作用。它既可用于一些特定推荐场景,譬如直接根据当前的商品,为用户推荐相似度最高的Top N商品。同时,它还可以应用于个性化推荐,从而为用户推荐商品。电子商务网站收集了大量的用户日志,譬如用户点击日志等。
1700499016
1700499017
基于Item-Based协同过滤算法,笔者提出了一种增量式商品相似度的计算解决方案。该算法计算流程如图3-6所示。
1700499018
1700499019
[
上一页 ]
[ :1.70049897e+09 ]
[
下一页 ]