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?
Tuyệt vời, cảm ơn rất nhiều! – Zach