基于购买历史而非评级的推荐系统

数据挖掘 机器学习 Python r 推荐系统
2021-10-12 13:43:54

我正在探索针对保险业优化的推荐系统的选项,这将考虑到

i) 产品持有量

ii) 用户特征(细分、年龄、富裕程度等)。

我想强调

a) 没有可用的产品评级,因此不能选择协同过滤

b) 推荐的产品不必与已经购买的产品相似,因此逐项推荐很可能是不相关的。

请记住,在保险中,您很少想向已购买的产品推荐类似的产品,因为拥有汽车保险的人不太可能想要购买其他汽车产品,而不是家庭或旅行等。

这就是为什么我想根据用户的购买历史和/或人口统计数据,就用户之间的相似性提出建议

理想情况下,如果不可能,我希望能够在 R 中实现它,然后在 Python 中实现。感谢您的帮助和建议!

2个回答

您可以使用基于内容的过滤,但您必须智能地预处理数据以提取产品的所有内容。此外,这可能会导致留下一些功能,在您预处理所有数据之后,本文是一个很好的开始

此外,您可以对产品与客户进行伪评级。这将取决于您的问题陈述。一些建议可能是客户在过去一个月内购买特定产品的次数,或者您也可以采用一个指数来定义客户购买该产品的频率,数学上将是 last_two_purchases/interval_of_purchase 或者也可以取平均值最近几次购买和间隔。

在进行此伪评级后,您可以将所有基于内容的特征转换为数字特征,并使用潜在因子模型进行协同过滤。参考这个视频。Python 可以用于此。

没有可用的产品评级,因此不能选择协同过滤

错误的。您可以对馆藏进行协同过滤。只需使用持股的数量/持续时间而不是评级。

这就是为什么我想根据用户的购买历史和/或人口统计数据,就用户之间的相似性提出建议

那么任何基于内容的方法都应该没问题。我可以使用用户之间的信任来写一篇名为TrustWalker的好文章(您可以在相似用户之间创建链接并在网络中传播他们的品味)。