分类后回归以处理通常为零的响应变量

数据挖掘 机器学习 随机森林 高斯
2022-03-07 23:49:41

我有一个数据集,由一堆预测变量(主要是无界或正实数)和我希望预测的单个响应变量组成。响应通常恰好为零——大约 90% 的时间。我尝试使用标准高斯过程方法以及随机森林对此进行建模。然而,在这两种情况下(尽管在使用随机森林时更是如此),模型似乎处理数据不佳,通常预测非零响应。现在,如果预测的响应实际上非常接近于零,我可以设置一个截止值,低于该值将四舍五入为零,但在许多情况下它们明显非零。

我对解决方案的想法是训练两个模型:一个在整个训练集上训练的分类模型,预测一个变量是零还是非零,一个回归模型只在训练集中的行上训练零响应。然后,我将首先使用分类模型来预测哪些观察的响应恰好为零,然后使用回归模型来预测非零响应的值。

这是解决所描述问题的合理方法吗?这种模型有名字吗?有没有更好的方法来做到这一点?

1个回答

这听起来完全合理,我听说过的这个结构的通常名称只是“管道”,它也适用于其他系统馈送-下一个系统结构——它也可能是“机器学习管道”或“数据处理管道” ”。

有多种方法可以评估 ML 管道的性能:

  • 您当然可以将最终准确率或损失值与更简单的模型进行比较。把模型变成一个更复杂的多阶段模型真的改善了事情吗?遗憾的是,没有任何保证,尽管我最初对您的情况抱有希望 - 部分原因是您可以将可用的调整应用于用于处理类不平衡问题的分类器模型。

  • 您可以通过在每个单元的管道到目前为止的输入和来自训练数据的完美输入之间切换来决定管道的哪一部分将为您带来最大的收益。然后,您可以通过在管道中完善该单元来查看可能有多少增量差异。

在您的情况下,您有一个两阶段的管道,因此您可以通过比较以下之间的增量改进来检查是否值得将更多精力集中在分类器或回归部分上:

  1. 整个管道的未调整输出端到端运行。

  2. 假设分类器是完美的,回归的输出(或零)。

  3. 满分。

这两个差异中的哪一个给您最大的差异 (2) - (1) 或 (3) - (2) 分别在分类器或回归阶段工作会获得最大的回报。

您可以在Advice for Applying Machine Learning(幻灯片 21、22)以及其他地方看到此每阶段分析的工作示例。