在为多种类型的产品创建推荐系统时,您如何处理隐含评级的偏差?
When creating recommendation system for multiple types of products, how do you deal with bias in implicit rating?
在做零售业务的推荐系统(协同过滤)时,没有实际评分(如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
在做零售业务的推荐系统(协同过滤)时,没有实际评分(如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