【发布时间】:2021-03-04 03:24:32
【问题描述】:
我使用交叉验证来使用 R 中的 Caret 包找到最佳超参数。这个模型适合完整的训练数据,但我想在训练和测试数据上训练最终模型。我该怎么做?
【问题讨论】:
标签: r machine-learning r-caret
我使用交叉验证来使用 R 中的 Caret 包找到最佳超参数。这个模型适合完整的训练数据,但我想在训练和测试数据上训练最终模型。我该怎么做?
【问题讨论】:
标签: r machine-learning r-caret
您可以获得最佳参数并将其放入单个网格中:
library(caret)
idx = sample(nrow(iris),100)
dat = iris
dat$Species = ifelse(atd$Species=="versicolor","v","o")
traindf = dat[idx,]
testdf = dat[idx,]
mdl = train(Species ~ .,data=traindf,method="gbm",
trControl=trainControl(method="cv"))
train_fit = train(Species ~ .,data=traindf,method="gbm",
trControl=trainControl(method="cv"),
tuneGrid = mdl$bestTune)
test_fit = train(Species ~ .,data=testdf,method="gbm",
trControl=trainControl(method="cv"),
tuneGrid = mdl$bestTune)
由于您没有提供数据或更多信息。这是直接的方法。否则,您将调用该方法,例如在本例中为 gbm() 并再次拟合。
【讨论】: