用随机森林预测计数数据?

机器算法验证 r 回归 随机森林 预言 计数数据
2022-01-22 21:45:00

可以训练随机森林以适当地预测计数数据吗?这将如何进行?我有相当广泛的价值观,所以分类并没有真正的意义。如果我使用回归,我会简单地截断结果吗?

我在这里很迷茫。有任何想法吗?

3个回答

有一个称为 R 包mobForest,它可以为计数数据拟合真正的随机森林。它基于包中mod()的(基于模型的递归分区)party如果family参数指定为,它将执行泊松回归poisson()该软件包不再位于 CRAN 存储库中,但可以从存档中获取以前可用的版本。

如果您不限于随机森林/装袋,也可以使用提升版本来计算数据。也就是说,gbm(广义增强回归模型)。它也可以拟合泊松模型。

我看到了几种可能性。

  • 您可以将响应分为几个任意类别并使用分类树
  • 如果计数通常非常低,0、0、0、1、0、3、0、2,您可以将每个整数计数视为一个类并再次使用分类树(可能不是您的情况)。在这些情况下,与连续回归相比,获得高方差解释类型指标将更加困难。
  • 如果计数通常低并且有很多变化,我会选择回归树。例如,使用泊松回归而不是线性回归,只有在获得良好的线性预测器时才有用。如果您没有看到随机森林的良好预测能力,那么我怀疑专门容纳计数数据的更高级的模型是否会对您有很大帮助。

更新 (2020-12-11)自从写下这个答案后,一场 Kaggle 竞赛(M5 竞赛)向我展示了一种情况,即在 LightGBM 框架中使用泊松损失对于计数较少的零售数据非常有效。我不知道它比均方误差好多少,但许多公共笔记本都在使用它,而且它很容易切换。我不认为我的第二个子弹是一个好主意,但我会留下它。

好吧,它不是随机森林,但CatBoost支持泊松损失函数,可用于提升树的计数回归:

https://tech.yandex.com/catboost/doc/dg/concepts/loss-functions-docpage/