Chcę użyć out-of-fold prognozy z modelu opiekunów, aby wyszkolić drugi model, który zawiera niektóre z oryginalnych predyktorów. Mogę zbierać out-of-krotnie przewidywania, co następuje:Zbieranie out-of-fold prognozy z modelu opiekuna
#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,]
co jest dobre, ale są w złej kolejności:
> all.equal(out_of_fold$obs, BostonHousing$medv)
[1] "Mean relative difference: 0.4521906"
Znam obiekt train
zwraca listę z których indeksów były używane do szkolenia każdą fałdę:
> 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 ...
jak mogę wykorzystać te informacje, aby umieścić uwagi w moim out_of_fold
obiektu w tej samej kolejności jak oryginał BostonHousing
dataset?
Niesamowite, wielkie dzięki! – Zach