R包caret中的结果对象中的RMSE是什么?

问题描述:

为什么结果1与结果2不同?直觉上我会认为truc $ results $ RMSE是预测的均方根误差,但我想不是。R包caret中的结果对象中的RMSE是什么?

library(caret) 
x <- data.frame(x = rnorm(15)) 
y <- x$x + rnorm(15) 
myTimeControl <- trainControl(method = "timeslice",initialWindow = 10, horizon = 1, fixedWindow = FALSE, savePredictions=TRUE) 
truc <- train(x,y,method = "lm",metric= "RMSE",trControl =myTimeControl,preProc = c("center", "scale")) 
result1 <- sqrt(mean((truc$pred$pred-truc$pred$obs)^2)) 
result2 <- truc$results$RMSE 
result1 
result2 

如果颠倒均值和开方,你会得到同样的结果......事情的怪异与插入符号公式......其实,你做了一个有趣的观察...

result1 <- mean(sqrt((truc$pred$pred-truc$pred$obs)^2)) 
+0

嗯,它是不是MSE,而是MAE。也许我应该告诉作者。非常感谢,我以为我疯了! –