我很困惑何时使用用户-用户协同过滤以及何时使用项目-项目协同过滤?
请帮忙!!
我很困惑何时使用用户-用户协同过滤以及何时使用项目-项目协同过滤?
请帮忙!!
如果您的用户数多于数据集中的项目(通常是这种情况),则使用项目-项目协同过滤会很有效。例如:与产品相比,亚马逊将拥有庞大的客户群。
此外,用户的偏好和喜好随着时间的推移而变化,因此在用户-用户协同过滤中很难解决这个问题,但是对于项目,通常可以看到项目的评分在一段时间内变化不大。
Item-Item :- 查找用户 X 已经评分的相似项目并推荐最相似的项目。这里的相似性是指人们如何根据评分来对待两个项目。如果两个项目对相同的用户获得相同的评分,那么它们是相似的。例如:-
Per1 Per2 Per3
Item1 5 3 1
Ttem2 2 3 3
项目向量_1 = 5P1 + 3P2 + 1P3
项目向量_2 = 2P1 + 3P2 + 3P3
如果我们计算两个向量的余弦相似度:
Cos_sim = (5*2 + 3*3 + 1*3) / sqrt((25+9+1)*(4+9+9)
Cos_sim = 0.792
User-User :- 通过评估两个用户的评分模式来查找用户之间的相似性。例如:-
Item1 Item2 Item3 Item4
Per_x 5 2 5 2
Per_y 5 2 5 2
这里的两个用户非常相似。这可能是你和你的朋友。
希望有帮助!!!