交叉验证:每行提取模型值?

Cross-validation: extracting the model values out per row?

我正在使用留一法交叉验证进行练习,想知道是否可以从每个验证步骤中提取单独的测试统计数据。

如果我对LOOCV的理解是正确的,应该是这样的:

我对每个最终结果的预测很感兴趣。我的方法是这样的(以 Iris 数据集为例):

attach(iris)

library(caret)

train_iris <- train(
  iris$Petal.Width ~ .
  , method="rf"
  , data=iris
  , trControl = trainControl(method="LOOCV")
)

print(train_iris)

输出分别为我提供 0.1784474 0.9448437 的 RMSE 和 Rsquared。如果我的理解是正确的,这些就是交叉验证的聚合值。有什么方法可以提取每次 cv 迭代的 RMSE 和 Rsquared 而不是汇总的训练集?

为了扩展爱巢的回应,如果我使用 savePredictions="final",那么 iris_train$pred 就是我要查找的内容:

> head(train_iris$pred)
  mtry      pred obs rowIndex
1    2 0.2744045 0.3       20
2    2 0.4143063 0.3       19
3    2 0.3563173 0.2       21
4    2 0.2429914 0.4       17
5    2 0.2035579 0.2        4