2012-06-29 9 views
9

キャレットモデルの折り畳まれていない予測を使用して、元の予測変数の一部を含む第2段階のモデルを訓練したいと考えています。次のように私は外の倍の予測を集めることができます素晴らしいですキャレットモデルから折り畳まれていない予測を収集する

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

を、彼らは間違った順序である:

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

私は trainオブジェクトがどのインデックスのリストを返します知っていますどのように私は、元のと同じ順序で私の out_of_foldオブジェクト内の観察を置くために、この情報を使用することができます

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

:各折り目を訓練するために使用されましたデータセット?

答えて

6

次のリリース(おそらく今から1か月)の各サンプルの元の行番号を示す別の列を出力に追加します。

最大

+0

大変ありがとうございます! – Zach

関連する問題