在randomForest包中忽略nodesize参数

时间:2015-02-09 19:35:50

标签: r random-forest

randomForest包是否忽略nodesize参数?当我预测数据集的终端节点并检查计数时,我看到的值小于nodesize。我会自己提交一个修复程序,但底层代码是用Fortran编写的。如果有人可以确认这种行为,我会联系包维护者并希望开始修复。

> library(randomForest)
> set.seed(1)
> rf <- randomForest(mtcars[,-1], mtcars[,1], nodesize = 5)
> nodes <- attr(predict(rf, mtcars[,-1], nodes = TRUE), 'nodes')

# node counts of first tree
> table(nodes[,1])

# first row is the terminal node ID#, second row is the count
 2  6  9 10 11 14 15 16 18 19 
 5  3  3  6  4  2  3  1  3  2 

添加系统信息

Session info----------------------------------------------------------------
 setting  value                       
 version  R version 3.1.1 (2014-07-10)
 system   x86_64, mingw32             
 ui       RStudio (0.98.1049)         
 language (EN)                        
 collate  English_United States.1252  
 tz       America/Chicago             

Packages--------------------------------------------------------------------
 package      * version date       source        
 randomForest * 4.6.10  2014-07-17 CRAN (R 3.1.1)

1 个答案:

答案 0 :(得分:0)

来自包维护者的回复:

  

该参数的行为与Leo Breiman的意图相同。错误   是在如何描述参数。它与minsplit中的相同   rpart:::rpart.control()函数:

     
    

按顺序必须存在于节点中的最小观察数     为了分裂而尝试。

  
     

我将在下一版本的帮助文件中更改说明   解决这个困惑。

     

最好,安迪