R如何用Rpart和Tree确定最大可能的树

问题描述

我想用 rpart 和 tree 包确定可能最大的树。我用这两个包创建了树,但我不知道如何达到最大的树。有人知道吗?

解决方法

我不知道是否可以通过一些参数设置所需节点的数量,但是,您可以通过减少 cp 函数的 rpart.control 参数来增加树的复杂性.像这样:

library(rpart)
library(rpart.plot)
data(iris)
l <- lapply(c(0.1,0.01,0.001),function(x){
  X_rpart = rpart(
    Species ~ .,method = "class",data = iris,control = rpart.control(minsplit = 1,cp=x)
  )
})

for (i in 1:length(l)) {
  rpart.plot(l[[i]])
}

您可以看到,cp 越小,最终树中的节点数就越多。这里是 3 次迭代的图:

enter image description here