在为零售业务进行推荐系统(协同过滤(时,没有实际评级(如1-10对该项目满意(。
因此,我使用每个用户购买某个商品的次数作为隐含评级。然而,这样做可能会在慢速产品(如电视(和快速产品(如薯片、零食(之间产生偏见,因为顾客购买慢速产品的次数远少于快速产品。
我的问题是:
- 有什么比客户购买某些商品的次数或访问次数更好的东西可以作为评分吗
- 你如何增加重量来帮助减少慢速和快速物品之间的偏差
感谢您的提前回答!
尝试回答您的特定问题:
-
是的,但这取决于您对这些项目的其他信息。我试图做出一些合理的假设来回答。
-
我可以推测你已经承担了这件物品的费用。您可以通过项目成本进行标准化,以确保偏差有所减少(而不是完全消除(。您可以进行直接归一化(
weighted_rating = implicit_rating * cost per item
(。这里,cost_per_item
用于weights
的目的,以减少偏置。或者,您可以通过binning
或clustering
对价格组进行实验,即所有项目的价格,以形成产品组,从而获得group_mean_price
。然后可以将其用作权重。
如果您了解该物品的其他信息(例如易腐烂/易消耗/笨重(,则可以拥有更具代表性的集群。然后,您可以为每个项目指定implicit_rating
。现在,您可以通过使用组评级的聚合统计信息(比如group_mean_implicit_rating
(来规范化每个implicit_rating
。因此,weighted_rating = implicit_rating/group_mean_implicit_rating