这是什么类型的问题?

数据挖掘 机器学习 r Python
2022-02-15 19:05:25

问题:我有一个超过200GB的巨大数据集。该数据集包含大约 200 列(预测变量)。手头的任务是预测向客户推销哪种产品,以便他/她最终购买,从而使公司的收入最大化

这是一个交叉销售的情况,但我需要查看产品推荐以及收入最大化。

据我了解,收入最大化需要回归模型。如果我错了请纠正我

我不知道如何推荐产品,因为有超过 2000 种独特的产品。(我觉得虚拟编码需要大量的时间和资源)。

由于数据的庞大,我计划使用 Python 来处理数据。(也欢迎对 R 提出建议)

PS:如果问题看起来太基础,请见谅,不过我刚开始学习

[更新]:

  • 数据为长(窄)格式
  • 我也可以使用 R 来解决这个问题
  • 产品由其唯一的产品 ID 标识(2​​000 多个唯一的产品 ID)
  • 标题: date | time | pid | cust_id | ... | amount | tax | net_revenue
  • 净收入:连续变量
  • 产品 ID:连续但被视为标称
  • Cust_id:连续但被视为名义上
3个回答

如果我正确理解您的问题,您需要从 2000 年中推荐一款产品。您想选择收入期望最高的一款。这可以分解为使销售乘以收入的概率,即销售。销售的收入是已知的,概率就是所需要的。我假设您有哪些客户(具有给定功能)购买了这些产品的历史数据。现在,您可以训练回归模型来估计特定产品的销售概率。通过优化对数损失成本函数,具有 sigmoid 激活函数的逻辑回归和神经网络非常适合无偏概率估计。

有了这么多数据,我建议从您的数据子集开始并使用逻辑回归。由于这是一个广义线性模型,您可能需要进行一些特征工程来提高性能。既然你提到你使用 Python,scikit-learn 有很多用于逻辑回归优化和特征工程的函数,所以看看。

一旦你训练了 2000 个模型,对于一个新的推荐,你将通过模型运行特征,得到所有的概率,将它们乘以对应于这个产品的收入,然后选择最高的一个。

你现在的问题真的很模糊。但是,如果我必须根据您所写的内容提出建议,我建议您进行购物篮分析以确定哪些产品通常一起购买。一旦您了解了哪些产品是一起购买的,您就可以对购物篮分析中的组合进行回归分析,以预测收入最大化

根据您拥有的有关客户及其购买的信息的数量和密度,您可以运行协同过滤,这意味着找到相似客户的集群并查看每个集群倾向于购买什么。

然后,对于每个人,您可以推荐她以前没有购买过的东西,并且有更大的指标(在这种情况下是收入)。

从业务角度来看,您可能还需要考虑其他指标(净利润、库存时间等)