2012-06-29 5 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 개체가있는 인덱스의 목록을 반환 알고 어떻게 원래 0,123,448,297 같은 순서로 내 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

다음 릴리스 (아마도 지금부터 한 달 후)의 각 샘플에 대한 원래 행 번호를 나타내는 다른 열을 출력에 추가합니다.

최대

+0

대단히 감사합니다. – Zach