[英]How can choose number of nods in rpart?
在tree
包中,我们可以使用以下代码选择终端点的数量:
tree.model = tree(...)
tree.prune = prune.tree(tree.model, best = 20)
此代码返回带有20个终端点的新树。
在rpart
包中,以下代码可用于此目的:
rpart.model = rpart(...)
rpart.prune = prune.rpart(rpart.model, cp =?)
cp
是成本复杂度参数。 但是我想要在prune.tree
类似的best
论点。
rpart
软件包与best
tree
软件包没有类似的论点。 开发树包是为了弥补缺少rpart
的功能。
要选择适当数量的节点,可以在rpart
调整其他参数。 例如。
prune.control <- rpart.control(minsplit = 20, minbucket = round(minsplit/3), xval = 10)
rpart(formula, data, method, control = prune.control)
然后,评估交叉验证错误与cp的关系,以选择cp
值。 另外,您可以使用caret
包自动调整cp
值。 例如。
ctrl <- trainControl(method = "repeatedcv", number = 10, repeats = 5)
model <- train(x = train_data,
y = labels,
method = "rpart",
trControl = ctrl)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.