2012-06-29 11 views
9

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?

Odpowiedz

6

Dodam kolejną kolumnę do wyjścia, która wskazuje oryginalny numer wiersza dla każdej próbki w następnym wydaniu (prawdopodobnie za miesiąc).

Max

+0

Niesamowite, wielkie dzięki! – Zach

Powiązane problemy