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

时间:2015-01-19 13:23:55

标签: r plot tree dendrogram gbm

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

在R中,我使用使用dismo的{​​{1}}运行了一些Boosted回归树,即广义Boosting模型。可重复的例子让人们到达我目前的位置:

gbm

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

用户 ckluss 建议使用rpart,但是需要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) 生成模型,因此不适用于rpart生成的BRT / GBM。来自gbm.step的{​​{1}}也是如此。

prp中的{p> rpart.plot为所选的任何一个树提取信息矩阵(首先尝试pretty.gbm.tree)所以我想知道这可能是一个合理的途径成功?例如。通过编写一些使用所有可用树创建平均树矩阵的脚本,然后将其转换为树状对象,可能使用某些方法here

人们已经提出了不同的类似问题似乎在网上其他地方没有成功。 BRT模型经常被描述为黑盒子&#39;所以也许普遍的看法是,人们不应该/有能力/懒得去探究它们并展示它们的内部过程。

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

De'ath tree diagram

1 个答案:

答案 0 :(得分:2)

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

解释整体的基本思想不是获得平均水平。树,或获得任何单个树的情节,但可视化平均值&#39;变量的影响。在文献中,这是“部分依赖”。预测变量 - 它保持其他变量不变的效果。如何&#34;部分依赖&#34;估计的估计有点复杂,但它是通过仅允许预测器 j 变化而获得的模型隐含预测,用于观察 i 。然后对所有 i 观察值进行平均预测。有关血腥的详细信息,请参阅Friedman & Popescue (2008)

然后,您可以绘制估计的依赖关系(或我称之为&#34;模型隐含的&#34;)预测变量对预测变量的实际值的影响。这样,您就可以看到预测变量的模型隐含效果。

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