衡量客户购买预测的绩效

数据挖掘 预测建模 公制 不平衡数据 rmse
2022-03-04 21:31:02

我的目标是开发一个模型,以美元预测下一个客户购买(更新:在数据集的时间段内,如果客户没有购买,下一个购买标签设置为零)。我正在尝试确定衡量模型性能的最有效指标。

结果如下所示:

y_true_usd y_predicted_usd
1.2 0.8
0 0.3
0 1.1
0 0
0 0.1
5.3 4.3

首先,我考虑使用RMSE,但由于我的大多数客户不下订单,RMSE因此由于付费用户的稀有性,往往会掩盖错误(模型预测大部分为 0,并且在预测购买方面做得很差)。我的下一步是将客户分为 5 组,并使用 quadratic cohen's kappa指标来衡量绩效。Kappa 指标运行良好,反映了性能不佳的模型,但是,我被迫对客户进行分类。

在不区分客户的情况下,哪个是衡量模型性能的好指标?

更新:寻找一个单一的指标来强调在不平衡的数据集中预测正确数量的美元的准确性,并帮助我确定新模型是否比以前的模型更好。

3个回答

一种方法是将问题构建为一系列独立模型的层次结构。

首先 - 拟合预测购买/不购买的二元分类模型。这些类别可能不平衡,因此请使用精确度、召回率或 F 分数(不要使用准确度)。

第二 - 如果第一个模型预测购买,则为购买量拟合单独的回归模型。通常平均绝对误差 (MAE) 用于价格,因为它比均方根误差 (RMSE) 更易于解释。

通常,正确的损失函数是以美元为单位的:预测误差对您的雇主的实际价值。因此,您的问题的答案取决于您的模型的用途。

“下一个客户购买”怎么可能是0?“客户永远不会购买”和“客户还没有购买”是有区别的。也许预测下一次客户购买的时间比预测金额更有用。

非常有趣的问题。

Brian 对堆叠分类和回归模型提供了很好的见解。你可以:

  1. 调整您的分类模型(使用适当的指标作为 PR AUC)
  2. 设置分类阈值
  3. 在正分类模型上训练一个回归模型来预测购买的规模——如果这很重要的话。

在这种情况下,您可能会查看模型重建总(美元?)销售量的能力 - 并开始迭代。这可能是一个明智且易于沟通的指标。

您仍然可以在流程结束时进行分箱(总销售额重建错误),以提供不同子类别(例如廉价商品)的指标。