基于用户的协同过滤算法:用户相似度计算的改进
Posted AI算法攻城狮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于用户的协同过滤算法:用户相似度计算的改进相关的知识,希望对你有一定的参考价值。
用户相似度计算的改进
上一节介绍了计算用户兴趣相似度的最简单的公式(余弦相似度公式),
但这个公式过于粗糙,本节将讨论如何改进该公式来提高UserCF的推荐性能。首先,以图书为例,如果两个用户都曾经买过《新华字典》,这丝毫不能说明他们兴趣相似,因为绝大多数中国人小时候都买过《新华字典》。但如果两个用户都买过《数据挖掘导论》,那可以认为他们的兴趣比较相似,因为只有研究数据挖掘的人才会买这本书。换句话说,两个用户对冷门物品采取过同样的行为更能说明他们兴趣的相似度。因此,John S. Breese在论文中提出了如下公式,根据用户行为计算用户的兴趣相似度:
可以看到,该公式通过
惩罚了用户u和用户v共同兴趣列表中热门物品对他们相似度的影响。本节将基于上述用户相似度公式的UserCF算法记为User-IIF算法。下面的代码实现了上述用户相似度公式。
def UserSimilarity(train):
# build inverse table for item_users
item_users
以上是关于基于用户的协同过滤算法:用户相似度计算的改进的主要内容,如果未能解决你的问题,请参考以下文章