我正在使用推荐引擎,该引擎使用基于项目的协作过滤器为餐馆创建推荐。每间餐厅的评论范围均为1-5 每个推荐算法都会遇到数据稀疏性问题,所以我一直在寻找计算正确相关性的解决方案。
我在餐馆之间使用调整后的余弦相似度。
如果要计算餐馆之间的相似度,则需要对两家餐馆进行评级的用户。但是,对两家餐馆进行评分以获得正确相关性的最低用户是什么?
通过测试,我发现一组对两家餐馆进行评级的用户都会导致相似性差(显然)。通常它是-1或1.所以我把它增加到两组有两个餐厅的用户,这给了我更好的相似性。我发现很难确定这种相似性是否足够好。有没有一种方法能够测试这种相似性的准确性,还是有关于最小值是多少的指导原则?
答案 0 :(得分:0)
简短的回答是参数扫描:尝试“评价两家餐馆的最低用户”的几个值并测量结果。随着更多用户,您将更好地了解项目(餐馆)之间的相似性。但是你的相似性信息会比较稀疏。也就是说,您将专注于更受欢迎的项目,并且不太能够推荐长尾的项目。这意味着你总是要做出权衡,你应该衡量一切可以让你做出权衡的事情。例如,衡量预测准确性(例如RMSE)以及可能推荐的项目数量。
如果您的项目空间太稀疏,您可能希望找到超出用户评级的项目项目相似性的其他方法。例如,您可以使用基于内容的过滤方法来包含有关每家餐馆的美食的信息,然后创建一个中间步骤来了解每个用户的美食偏好。即使您没有项目项目相似性得分,也可以进行推荐。