推荐系统的分类模型?

数据挖掘 分类 随机森林 推荐系统 多类分类
2022-03-08 00:52:47

我有一些客户选择“n”产品之一或没有产品的数据。我为每个客户提供了一些有用的功能。我可以根据这些数据构建多类分类问题,并使用分类模型(例如随机森林)来学习数据。然后,此模型将输出以下类别之一:

[0, 1, 2, ..., n]

其中 1, 2, ..., n 是第 1 件、第 2 件等产品,0 是客户选择不购买任何东西的时间。我想把这个模型作为推荐系统,即当一个新客户(连同所有其他功能)出现时,我知道他更有可能购买 n 种产品中的哪一种。

问题是这样的:在上述设置中,当模型为新客户输出“0”时,我不知道该怎么办。在这种情况下,即新客户不太可能购买任何产品时,我应该采取什么措施?还是我应该以其他方式制定分类问题?有什么方法我们根本不应该将问题表述为分类问题?

2个回答

一种选择可能是对输出进行稍微不同的建模。在没有产品的情况下,不要返回产品 1、2、...、n 或 0 的类型,也许您可​​以返回一个 pair 列表(product, probability),如果最高概率是对应于 0 的那个,即“没有产品”,您可以只推荐第二好的。

这种方法的一个优点是您可以推荐多个产品,可能是前 3 个产品,或者概率高于特定阈值的产品列表等。

如果客户是新客户并且没有可以作为推荐依据的信息,也许您可​​以推荐您将提供给类似客户的产品(如果您可以以任何方式聚集客户)或者只是最畅销的产品。

我之前遇到过这个问题,我所做的就是利用这个机会向客户提供随机产品。从字面上看,进行随机选择并将其作为对客户的推荐。

为什么要这样做?因为您的客户拥有新的/独特的“个人资料”这一事实使他们成为值得学习的宝贵数据点。所以继续向他们展示一个随机的项目列表,看看有什么坚持。在您的数据库中将这些客户记录标记为特殊,然后立即将它们反馈到您的算法中以供将来推荐。这些数据点在您的强化学习周期中非常有价值(您正在做强化,不是吗?)并且可以帮助您的算法随着时间的推移变得更加智能。