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)