我想知道是否有可能估计在测试数据上每个K倍训练的模型的RMSE方差。 我正在使用crantastic caret包。 例如:
ctrl <- trainControl(method = "repeatedcv", number = 5, repeats = 20,
allowParallel = TRUE)
gbmGrid <- expand.grid(interaction.depth = seq(9, 11, by = 1),
n.trees = seq(700, 900, by = 25),
shrinkage = c(0.01, 0.025, 0.05))
set.seed(100)
gbmFit <- train(R ~ .,
data = trainSet,
method = "gbm",
tuneGrid = gbmGrid,
verbose = FALSE,
trControl = ctrl)
gbmFit$resample
给出了每个K折叠的RMSE,但是我希望每个K折叠的训练模型的RMSE相对于测试数据。有可能吗?
为了进一步说明这一点,基于最佳模型,可以预测测试集的输出变量的值:
predict(gbmFit, testSet)
然而,对train
中使用的ixk模型(20x5)执行此操作会更好,而不仅仅是最佳模型。对于对模型参数非常敏感的模型,这是必要的。鉴于CV中的两个最佳模型,它们可以具有非常不同的测试集的准确度值。也许CV中第二好的模型是整体最佳模型。见http://ai.stanford.edu/~ang/papers/cv-final.pdf