【发布时间】:2015-10-11 12:51:38
【问题描述】:
R 包“tree”将最大树深度限制为 31。如果将函数 tree 应用于大型数据集,则很容易达到此限制:
> library("tree")
> library("ElemStatLearn")
> data <- list(image=as.matrix(zip.train[,-1]), digit=as.factor(zip.train[,1]))
> t <- tree(digit~image, data, split="gini")
Error in tree(digit ~ image, data, split = "gini") :
maximum depth reached
Calls: source -> withVisible -> eval -> eval -> tree -> .C
有没有办法告诉tree 在达到最大树深度时停止生长树,而不是因错误而中止?
(换句话说:rpart.control 的 maxdepth 参数是否有等价物?)
【问题讨论】:
-
查看
?tree和?tree.control设置参数。 -
我阅读了帮助页面,但没有找到相关参数。也许我忽略了什么?
-
这有没有解决?
-
@Vincent 我个人的结论是使用“rpart”而不是“tree”。
-
@Vincent tree 和 rpart 是两个相互竞争的包,它们都可以构建分类树。他们做事略有不同,通过实验,我(或者更确切地说是我的一个学生)得到的印象是 rpart 通常看起来比 tree 更精致。所以我的结论是:停止使用 tree 包,开始使用 rpart 包。 rpart 的文档在这里:cran.r-project.org/web/packages/rpart/rpart.pdf
标签: r classification