【发布时间】:2016-11-03 12:09:08
【问题描述】:
我正在使用 Leave-One-Out 交叉验证进行练习,并且想知道是否可以从每个验证步骤中提取单独的测试统计信息。
如果我对LOOCV的理解是对的,应该是这样的:
我对每个最终结果的预测很感兴趣。我的方法是这样的(以 Iris 数据集为例):
attach(iris)
library(caret)
train_iris <- train(
iris$Petal.Width ~ .
, method="rf"
, data=iris
, trControl = trainControl(method="LOOCV")
)
print(train_iris)
输出分别为我提供了 RMSE 和 Rsquared 的 0.1784474 0.9448437。如果我的理解是正确的,这些是交叉验证的聚合值。有没有什么方法可以提取每个 cv 迭代的 RMSE 和 Rsquared,而不是汇总的训练集?
【问题讨论】:
-
不要使用
caret,而是查看trainControl及其savePredictions参数。试试savePredictions="final"。
标签: r r-caret cross-validation