2012-06-29 31 views
9

Tôi muốn sử dụng các dự đoán trong màn hình đầu tiên từ mô hình dấu mũ để đào tạo mô hình giai đoạn hai bao gồm một số dự đoán ban đầu. Tôi có thể thu thập những dự đoán out-of-lần như sau:Thu thập các dự đoán ngoài màn hình từ mô hình dấu mũ

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

Mà là tuyệt vời, nhưng chúng theo thứ tự sai:

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

Tôi biết các đối tượng train trả về một danh sách trong đó chỉ số đã được sử dụng để đào tạo mỗi lần:

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

làm thế nào tôi có thể sử dụng thông tin này để đưa các quan sát trong đối tượng out_of_fold tôi theo thứ tự như bản gốc BostonHousing tập dữ liệu?

Trả lời

6

Tôi sẽ thêm cột khác vào đầu ra cho biết số hàng gốc cho từng mẫu trong bản phát hành tiếp theo (có thể là một tháng kể từ bây giờ).

Tối đa

+0

Tuyệt vời, cảm ơn rất nhiều! – Zach

Các vấn đề liên quan