在为多种产品创建推荐系统时,您如何处理隐性评级中的偏差?

2024-09-30 10:39:45 发布

您现在位置:Python中文网/ 问答频道 /正文

在对零售业务进行推荐系统(协同过滤)时,没有实际的评分(如1-10满意该项目)

因此,我使用每个用户购买某个项目的次数作为隐含评级。然而,这样做可能会在慢行产品(如电视)和快行产品(如薯片、零食)之间产生偏差,因为客户购买慢行产品的次数远少于快行产品

我的问题是:

  1. 有什么比客户购买某些物品的次数或访问次数更好的方法来作为评分吗
  2. 你如何增加重量,以帮助减少缓慢移动和快速移动物品之间的偏差

感谢您提前回复


Tags: 项目方法用户客户产品系统业务评分
1条回答
网友
1楼 · 发布于 2024-09-30 10:39:45

尝试回答您的具体问题:

  1. 是的,但这取决于您对这些项目有哪些其他信息。我试图通过做出一些合理的假设来回答这个问题

  2. 我可以假定你有这个项目的费用。您可以通过项目成本进行标准化,以确保减少(而不是完全消除)偏差。您可以直接进行归一化(weighted_rating = implicit_rating * cost per item)。这里,cost_per_item用于weights减少偏差。或者,您可以通过binningclustering所有项目的价格来试验价格组,以形成产品组,从而给您一个group_mean_price。然后可以将其用作权重

如果您知道有关该项目的其他信息(如易腐/易耗/笨重),您可以拥有更具代表性的集群。此后,您可以将implicit_rating分配给每个项目。现在,您可以通过使用组评级的聚合统计信息(例如group_mean_implicit_rating),对每个implicit_rating进行规范化。所以,weighted_rating = implicit_rating/group_mean_implicit_rating

相关问题 更多 >

    热门问题