2

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

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

编辑:我建立的树类似于这里的树-> https://stackoverflow.com/a/37059827/14168775

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

4

1 回答 1

2

目前,mob()尽管大多数构建块都可用,但没有针对基于模型的通用森林使用的罐装解决方案。但是,我们目前正在重新实现后端,mob()以便我们可以cforest()更轻松地利用底层基础设施。此外,这mob()ctree()学习森林有点不方便。

目前,最好的替代方法是使用cforest()自定义ytrafo. 这些也可以适应基于模型的转换,非常类似于mob(). 事实上,在许多情况下ctree()mob()当提供与转换相同的评分函数时,会产生非常相似的结果。

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

Heidi Seibold、Achim Zeileis、Torsten Hothorn (2017)。“使用基于模型的随机森林进行个体治疗效果预测。” 在“Psychoco 2017 - 心理测量计算国际研讨会”研讨会上发表,WU Wirtschaftsuniversität Wien,奥地利。网址https://eeecon.uibk.ac.at/~zeileis/papers/Psychoco-2017.pdf

用于个体治疗效果预测的基于模型的随机森林的特例也在一个专用包model4you中实现,该包使用上述演示中的方法,可从 CRAN 获得。也可以看看:

海蒂·赛博尔德、阿奇姆·泽莱斯、托斯滕·霍索恩(2019)。“ model4you:用于个性化治疗效果估计的 R 包。” 开放研究软件杂志7 (17), 1-6。 doi:10.5334/jors.219

于 2020-08-26T16:53:30.450 回答