(R)绘制来自gbm.step的BRT模型的树状图

(之前发布的
here,错误的子,没有足够的信息,已关闭,我编辑,编辑似乎已被删除,&帖子委托炼狱,所以道歉重新发布,我不知道以前的帖子是否可以/应该复活)

在R中,我使用使用gbm的dismo运行了一些Boosted回归树,也就是广义Boosting模型.可重复的例子让人们到达我目前的位置:

library(dismo); data(Anguilla_train)
angaus.tc5.lr01 <- gbm.step(data=Anguilla_train, gbm.x = 3:13, gbm.y = 2, family = "bernoulli", tree.complexity = 5, learning.rate = 0.01, bag.fraction = 0.5)

(自here起).这将为您留下gbm模型对象“angaus.tc5.lr01”.
我想根据De’ath 2007生成分裂的树状图(折叠?),即绘制树木(见图,左侧窗格).但是:De’ath的图是一个单一的回归树,而不是一个提升的回归树,它是可能的数千棵树的平均值,每棵树都运行着从数据集中随机抽取的不同数据集.

用户ckluss亲切地建议使用rpart,但是需要由rpart生成模型,因此不适用于gbm.step生成的BRT / GBM. rpart.plot中的prp也是如此.

gbm中的pretty.gbm.tree为所选择的任何一个树提取信息矩阵(首先尝试pretty.gbm.tree(angaus.tc5.lr01,i.tree = 1))所以我想知道这是否可能是走向成功的可行途径?例如.通过编写一些使用所有可用树创建平均树矩阵的脚本,然后将其转换为树状对象,可能使用一些方法here.

人们已经提出了不同的类似问题,似乎在网上其他地方没有成功. BRT模型经常被描述为“黑匣子”,所以一般认为,人们不应该/不能/懒得去探究它们并展示它们的内部过程.

如果有人对BRTs / gbm有足够的了解并且有任何想法,那么他们会感激不尽.
谢谢.

最佳答案 正如您所注意到的,决策树集合的解释比解释单个树更难.在几何上,您可以将决策树集合视为复杂的高维表面的近似.目标是找到有助于近似的变量,并可视化它们的效果.

解释集合的基本思想不是获得“平均”树,或获取任何单个树的图,而是可视化变量的“平均”效果.在文献中,这是预测因子的“部分依赖性” – 它保持其他变量不变的效果.如何估计“部分依赖性”的描述有点复杂,但它是通过仅允许预测变量j变化而获得的模型隐含预测,用于观察i.然后对所有i观测值进行平均预测.有关详细信息,请参阅Friedman & Popescue (2008).

然后,您可以绘制预测变量对预测变量实际值的估计依赖性(或我称之为“模型隐含”)的影响.这让你看到预测器的模型暗示效果.

好消息是,这些情节很容易在dismo中获得.有关单个预测变量,请参阅gbm.plot;有关两个预测变量的透视图,请参阅gbm.perspec.小插图还提供了示例.为了进一步帮助解释模型,gbm.interactions提供了一种检测可能的2路或3路交互的方法.有关详细信息,请参见this question.

点赞