I used cross validation to find optimal hyperparameters using the Caret package in R. This model is fit on the complete training data, but I want to train the final model on both the train and test data. How can I do this?
0
votes
1 Answers
2
votes
You can get the best parameter and fit it in as a single grid:
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)
Since you did not provide the data or more information. this is the straightforward way. Otherwise you would call the method, for example in this case gbm() and fit again.