CARET. Zusammenhang zwischen Datenaufteilung und trainControl
Ich habe die sorgfältig gelesenCARET Dokumentation unter:http://caret.r-forge.r-project.org/training.html, die Vignetten und alles ist ganz klar (die Beispiele auf der Website helfen sehr!), aber ich bin immer noch verwirrt über die Beziehung zwischen zwei ArgumententrainControl
:
method
index
und das Zusammenspiel zwischentrainControl
und die Datenaufteilungsfunktionen in Caret (z.createDataPartition
, createResample
, createFolds
undcreateMultiFolds
)
Um meine Fragen besser zu formulieren, verwende ich das folgende Beispiel aus der Dokumentation:
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)
Meine Fragen sind:
Wenn ich benutzecreateDataPartition
(von dem ich annehme, dass dies geschichtetes Bootstrapping bewirkt), wie im obigen Beispiel, und ich übergebe das Ergebnis alsindex
zutrainControl
muss ich verwendenLGOCV
als Methode in meinem AufruftrainControl
? Wenn ich einen anderen verwende (z.cv
) Welchen Unterschied würde es machen? In meinem Kopf, sobald Sie reparierenindex
Sie wählen im Wesentlichen die Art der Kreuzvalidierung aus, daher bin ich mir nicht sicher, welche Rolle sie spielenmethod
spielt, wenn Sie verwendenindex
.
Was ist der Unterschied zwischencreateDataPartition
undcreateResample
? Ist es dascreateDataPartition
macht geschichtetes Bootstrapping, währendcreateResample
nicht?
3) Wie kann ich tungeschichtet k-fache (z. B. 10-fache) Kreuzvalidierung unter Verwendung von Caret? Würde das Folgende es tun?
tmp <- createFolds(logBBB, k=10, list=TRUE, times = 100)
trControl = trainControl(method = "cv", index = tmp)
ctreeFit <- train(bbbDescr, logBBB, "ctree",trControl=trControl)