2012-06-29 24 views
9

Orijinal tahmin edicilerinden bazılarını içeren ikinci aşama modelini eğitmek için bir model modelinde katlama dışı tahminleri kullanmak istiyorum. aşağıdaki gibi ben dışı kat tahminler toplayabilir: harikaBir caret modelinden katlama dışı tahminlerin toplanması

#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,] 

, ancak yanlış sırada:

> all.equal(out_of_fold$obs, BostonHousing$medv) 
[1] "Mean relative difference: 0.4521906" 

Ben train nesne hangi endeksler bir listesini döndürür biliyorum Nasıl orijinalaynı sırada benim out_of_fold nesneye gözlemlerini koymak için bu bilgileri kullanabilirsiniz

> 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 ... 

: her kat eğitmek için kullanılanveri kümesi?

cevap

6

Bir sonraki sürümdeki her bir örnek için orijinal satır numarasını gösteren çıkışa başka bir sütun ekleyeceğim (muhtemelen bir ay sonra).

Max

+0

Awesome, thanks çok! – Zach