选择mtry的数量(没有原因偏差)?

时间:2016-09-08 09:25:26

标签: r tree

我有这个(示例)代码,我试图了解一些特征。关于Random Forest的问题很多,并且始终存在number of treesmtry的问题。这个数据框只是一个例子,但我如何解释模型的图(错误),以便设置没有原因偏差的树的数量?此处No. of variables tried at each split等于1(为什么?) 我认为tuneRtrain可能会导致偏见,因此我想尝试根据错误找到treesmtry(默认p / 3)的最佳数量。

#' an example of a data frame and the model 
clin=data.frame(1:500)
clin$k=clin$X1.500*0.2
clin$z=clin$X1.500*14.1/6
names(clin)=c("pr1","pr2","res")

rf=randomForest(res~pr1+pr2,data=clin,ntree=1000,importance=TRUE,keep.inbag=T)
plot(rf)
rf
    Call:
 randomForest(formula = res ~ pr1 + pr2, data = clin, ntree = 1000,      importance = TRUE, keep.inbag = T) 
               Type of random forest: regression
                     Number of trees: 1000
No. of variables tried at each split: 1

          Mean of squared residuals: 2.051658
                    % Var explained: 100

1 个答案:

答案 0 :(得分:1)

RF基于预测变量总数 p p / 3)的子集。在这个例子中,你只有2个预测因子来解释“res”。因此,RF只会随机选择一个。

应定义

ntree mtry ,以便您的结果保持一致。 如果将 ntree 设置得太低并多次计算RF,您会发现不同RF之间的RMSEP存在巨大差异。 mtry 也是如此。

A previous answer with reference to Breiman's paper on the matter

关于为拆分选择的预测变量进行编辑:当处理大量预测变量时(2绝对太低而无法充分利用RF),您可能会对变量重要性感兴趣,看看哪一个比其他变量更有意义。