我创建了一个随机森林
library(randomForest)
...
rf_default <- train(Species~.,
data=test,
method='rf', #random forest
metric='Accuracy',
tuneGrid=tunegrid,
ntree=100,
trControl=control)
rf_default$finalModel
rf_default$finalModel
现在包含具有最佳参数的模型。现在,我想使用新数据(类似于 *.fit()
中的 scikit
)使用最佳参数重新训练模型。我该怎么做?
编辑:
我遵循了 here 描述的方法:我尝试使用 CV 来查找超参数,然后,我想使用它们在完整的训练集上创建模型
答案 0 :(得分:0)
正如@missuse 所说,public
只是在您放入 private
的整个数据集上构建,无论使用何种重采样方法。
rf_default$finalModel
在上面的代码中,train
是在整个数据集 library(caret)
train <- iris[ind,]
test <- iris[-ind,]
control <- trainControl(method = "cv",number = 10)
tunegrid <- expand.grid(mtry=2:(ncol(iris)-1))
rf_default <- train(Species~.,
data=train,
method='rf', #random forest
metric='Accuracy',
tuneGrid=tunegrid,
ntree=100,
trControl=control)
rf_default$finalModel
#assessing the accuracy against the test set
confusionMatrix(predict(rf_default,test[,-5]),test$Species)
上训练的。
如果你想在整个 iris 数据集上拟合另一个模型,使用在之前的模型调整中找到的最佳超参数,你可以这样做:
rf_default$finalModel