用新数据重新训练随机森林

时间:2021-04-10 10:57:55

标签: r random-forest r-caret

我创建了一个随机森林

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 来查找超参数,然后,我想使用它们在完整的训练集上创建模型

1 个答案:

答案 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