是否可以使用基于模型的树构建随机森林,即 partykit 包中的 `mob()`

Is it possible to build a random forest with model based trees i.e., `mob()` in partykit package

我正在尝试使用 partykit 包中基于模型的回归树构建随机森林。我使用 mob() 函数和用户定义的 fit() 函数构建了一个基于模型的树,其中 returns 一个终端节点上的对象。

在 partykit 中有 cforest() 只使用 ctree() 类型的树。我想知道是否可以修改 cforest() 或编写一个新函数,该函数从基于模型的树构建随机森林,这些树 returns 在终端节点处是对象。我想使用终端节点中的对象进行预测。任何帮助深表感谢。提前谢谢你。

编辑:我建造的树与这里的相似 ->

如何使用类似于上述答案中的树构建随机森林?

目前,对于使用 mob() 的一般 model-based 森林,没有固定的解决方案,尽管大多数构建块都可用。但是,我们目前正在重新实现 mob() 的后端,以便我们可以更轻松地利用 cforest() 的基础架构。另外,mob()ctree()慢了很多,这在学习森林时有些不方便。

目前最好的选择是使用 cforest() 和自定义 ytrafo。这些也可以容纳 model-based 转换,非常类似于 mob() 中的分数。事实上,在许多情况下,ctree()mob() 在提供与转换相同的评分函数时会产生非常相似的结果。

此会议演示文稿中提供了一个工作示例:

Heidi Seibold, Achim Zeileis, Torsten Hothorn (2017). "Individual Treatment Effect Prediction Using Model-Based Random Forests." Presented at Workshop "Psychoco 2017 - International Workshop on Psychometric Computing", WU Wirtschaftsuniversität Wien, Austria. URL https://eeecon.uibk.ac.at/~zeileis/papers/Psychoco-2017.pdf

用于个体治疗效果预测的 model-based 随机森林的特例也在专用包 model4you 中实现,该包使用上述演示中的方法,可从 CRAN 获得。另见:

Heidi Seibold, Achim Zeileis, Torsten Hothorn (2019). "model4you: An R Package for Personalised Treatment Effect Estimation." Journal of Open Research Software, 7(17), 1-6. doi:10.5334/jors.219