如何预测用户下次购买商品

数据挖掘 机器学习 scikit-学习 熊猫 多标签分类
2021-10-12 17:24:29

我有一个电子商务网站,客户可以直接从该网站购买商品。我有训练数据,其中包括订单 ID、用户 ID、订单号、自上次订单以来的天数、产品 ID、添加到购物车订单、重新订购...

我试图预测,对于每个用户,他将在下一个订单中购买什么商品。我尝试使用朴素贝叶斯、每个用户的平均购买项目和以下等式:posterior ~ Bayes Factor x prior但预测结果不好,并且有很多误报和/或负数。

也许我可以尝试先训练用户将购买的物品数量,然后训练他将获得的特定物品,但不确定是否会得到更好的结果。我认为这可以用于多标签分类,但之前没有在分类中使用多标签。

我正在使用 python 和 sklearn,pandas ......

我可以使用任何更好的模型以及如何训练和预测可变多标签以及我是否可以在 sklearn 中做到这一点?请记住,数据很大,不幸的是,使用 sklearn 中的一些分类算法进行预测会占用大量内存,因此,任何关于如何减少内存消耗的想法也将是有用的。

1个回答

首先,您必须意识到,与信号相比,此类问题具有大量噪声,因为很难根据非常小的信息窗口预测某人将购买什么。也就是说,您当前的方法正在丢弃大量信息。时间方面包括大量信息,例如购买物品的顺序等。虽然这比您现在描述的要复杂得多,但您可以查看循环神经网络,在其中您将历史作为序列提供到预测点,并预测他们接下来将购买的商品作为 softmax 分类。这将取决于您提供的产品数量是否可行。另一个优点是所谓的“核外” 由于批次的迭代训练,使用神经网络进行训练相对容易。多标签也很干净,如果需要,您可以在图表的末尾添加一些标签。