Caret позволяет вам установить собственный набор для обучения и проверки в поезде с параметрами index
и indexOut
, но когда полученная модель применяется к набору проверки и измеряется ее производительность, это сильно отличается от того, что предоставляется самой моделью:
library(caret)
library(Metrics)
set.seed(123)
index_on <- 1:16
index_out <- 17:32
fit <- train(mpg~wt+qsec,
mtcars,
method = "glm",
metric = "RMSE",
trControl = trainControl(method="cv",
index = list(index_on),
indexOut = list(index_out))
)
fit$results$RMSE
rmse(mtcars[index_out, "mpg"], predict(fit, mtcars[index_out,]))
Как вы можете видеть, это дает разные значения производительности, когда она получена из объекта поезда или вычислена напрямую с помощью прогноза:
[1] 3.612743
[1] 3.079445
Это ошибка? я что-то пропустил здесь?