2016-11-01 3 views
0

私は練習にLeave-One-Outクロスバリデーションを使用しており、各バリデーションステップから個々のテスト統計を抽出できるかどうか疑問に思っていました。クロスバリデーション:行ごとにモデル値を抽出しますか?

LOOCVの私の理解が正しければ、それはこのようなものでなければなりません:私は予測は最終結果の各何のためにあるのかに興味が

enter image description here

。出力はそれぞれRMSEとRsquaredのために私に0.1784474 0.9448437を与える

attach(iris) 

library(caret) 

train_iris <- train(
    iris$Petal.Width ~ . 
    , method="rf" 
    , data=iris 
    , trControl = trainControl(method="LOOCV") 
) 

print(train_iris) 

:私のアプローチは、この(例として、アイリスデータセットを使用して)のように見えます。私の理解が正しければ、これらは相互検証を通して集計された値です。 RMSEとRsquaredが要約されたトレーニングセットの代わりに各cv反復のためにあるものを抽出する方法はありますか?私はsavePredictions="final"を使用する場合aichaoの応答に拡大すること

+1

'caret'を使用していますが、' trainControl'とその 'savePredictionsを見てはいけません'パラメータ。 'savePredictions =" final "'を試してください。 – aichao

答えて

1

は、その後、iris_train$predは私が探しているものを私に与えます:

> head(train_iris$pred) 
    mtry  pred obs rowIndex 
1 2 0.2744045 0.3  20 
2 2 0.4143063 0.3  19 
3 2 0.3563173 0.2  21 
4 2 0.2429914 0.4  17 
5 2 0.2035579 0.2  4 
関連する問題