CARETのドキュメント ( http://caret.r-forge.r-project.org/training.html ) とビネットを注意深く読みましたが、すべてが非常に明確です (Web サイトの例は非常に役立ちます!)。への2つの引数の関係について、私はまだ混乱していますtrainControl:
method
index
trainControlとキャレット内のデータ分割関数の間の相互作用(例: createDataPartition、createResample、createFoldsおよびcreateMultiFolds)
質問をより適切に構成するために、ドキュメントから次の例を使用します。
data(BloodBrain)
set.seed(1)
tmp <- createDataPartition(logBBB,p = .8, times = 100)
trControl = trainControl(method = "LGOCV", index = tmp)
ctreeFit <- train(bbbDescr, logBBB, "ctree",trControl=trControl)
私の質問は次のとおりです。
createDataPartition上記の例のように (階層化されたブートストラップを行うと仮定します) を使用し、結果を do として渡すと、index呼び出しtrainControlでLGOCVメソッドとして使用する必要がありますtrainControlか? 別のものを使用した場合 (例cv) どのような違いがありますか? 私の頭の中では、 を修正するindexと、基本的に交差検証の種類を選択することになりmethodますindex。createDataPartitionとはどう違いcreateResampleますか?createDataPartition成層化されたブートストラップを行うのですか?そうではありませcreateResampleんか?
3) キャレットを使用して階層化された k 分割 (例: 10 分割) 交差検証を行うにはどうすればよいですか? 以下はそれを行いますか?
tmp <- createFolds(logBBB, k=10, list=TRUE, times = 100)
trControl = trainControl(method = "cv", index = tmp)
ctreeFit <- train(bbbDescr, logBBB, "ctree",trControl=trControl)