具有大量类别的多类分类

数据挖掘 机器学习 推荐系统 多类分类
2022-02-11 09:48:36

我正在制作一个推荐系统(有点),我必须推荐用户下次购买时最有可能购买的商品。不管他是否已经买了这个项目。

鉴于此,我将此问题视为具有 4000 个类别(用户可以购买的不同商品的数量)的多类分类问题。

在 Wikipedia 中搜索,我找到了这个链接,并决定使用One vs -rest方法。因此,如果用户之前购买了每个项目,我决定使用协变量标志为每个项目训练一个随机森林(所以我有大约 4000 个协变量)。然后我会决定一个规则来决定推荐的项目(比如最有可能被购买或最大提升的那个。)

我的问题是训练时间太长(每个项目 5 到 10 分钟):

> 5*4000
[1] 20000
> 20000/60
[1] 333.3333
> 333.3333/24
[1] 13.88889 

因此,在最好的情况下,需要 2 周的时间来训练。

我想知道我使用的方法是否正确,以及是否有另一种更快的方法来实现这一点。

1个回答

使用朴素贝叶斯分类器可能会更幸运。它可以处理大量目标类,并且训练起来相对较快,因为您在很大程度上只是计算一堆单变量统计数据以在预测时插入。但是,它不会像随机森林那样捕捉花哨的互动,所以如果你担心“他们只买鞋带而不是擦鞋”与“他们经常买鞋带”,那么它可能辜负。您可能还想合并一个时间组件,但我不确定您在做什么。

https://en.wikipedia.org/wiki/Association_rule_learning也可能是相关的。