繁体   English   中英

如何在rpart中选择点头次数?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM