Deseo utilizar las predicciones de contracciones de un modelo de intercalación para entrenar un modelo de segunda etapa que incluya algunos de los predictores originales. Me puede obtener las predicciones de fuera del pliegue de la siguiente manera:Recopilación de predicciones de contratiempos de un modelo de intercalación
#Load Data
set.seed(1)
library(caret)
library(mlbench)
data(BostonHousing)
#Build Model (see ?train)
rpartFit <- train(medv ~ . + rm:lstat, data = BostonHousing, method="rpart",
trControl=trainControl(method='cv', number=folds,
savePredictions=TRUE))
#Collect out-of-fold predictions
out_of_fold <- rpartFit$pred
bestCP <- rpartFit$bestTune[,'.cp']
out_of_fold <- out_of_fold[out_of_fold$.cp==bestCP,]
que es grande, pero ellos están en el orden equivocado:
> all.equal(out_of_fold$obs, BostonHousing$medv)
[1] "Mean relative difference: 0.4521906"
sé el objeto train
devuelve una lista de qué índices fueron utilizados para entrenar cada pliegue:
> str(rpartFit$control$index)
List of 10
$ Fold01: int [1:457] 1 2 3 4 5 6 7 8 9 10 ...
$ Fold02: int [1:454] 2 3 4 8 10 11 12 13 14 15 ...
$ Fold03: int [1:457] 1 2 3 4 5 6 7 8 9 10 ...
$ Fold04: int [1:455] 1 2 3 5 6 7 8 9 10 11 ...
$ Fold05: int [1:455] 1 2 3 4 5 6 7 8 9 10 ...
$ Fold06: int [1:455] 1 2 3 4 5 6 7 8 9 10 ...
$ Fold07: int [1:457] 1 3 4 5 6 7 8 9 10 13 ...
$ Fold08: int [1:455] 1 2 4 5 6 7 9 11 12 14 ...
$ Fold09: int [1:455] 1 2 3 4 5 6 7 8 9 10 ...
$ Fold10: int [1:454] 1 2 3 4 5 6 7 8 9 10 ...
¿Cómo puedo utilizar esta información para poner las observaciones en mi objeto out_of_fold
en el mismo orden que el original BostonHousing
conjunto de datos?
Impresionante, muchas gracias! – Zach