WSTAWKA KOREKTORSKA. Związek między podziałem danych a trainControl
Starannie przeczytałemWSTAWKA KOREKTORSKA dokumentacja na:http://caret.r-forge.r-project.org/training.html, winiety i wszystko jest całkiem jasne (przykłady na stronie internetowej bardzo pomagają!), ale nadal jestem zdezorientowany co do związku między dwoma argumentamitrainControl
:
method
index
i wzajemne oddziaływanietrainControl
a podział danych działa w karierze (np.createDataPartition
, createResample
, createFolds
icreateMultiFolds
)
Aby lepiej uporządkować moje pytania, pozwól, że skorzystam z następującego przykładu z dokumentacji:
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)
Moje pytania to:
Jeśli używamcreateDataPartition
(które zakładam, że ma stratyfikowane ładowanie początkowe), jak w powyższym przykładzie, i przekazuję wynik jakoindex
dotrainControl
czy muszę korzystaćLGOCV
jako metoda w moim wezwaniutrainControl
? Jeśli korzystam z innego (np.cv
) Co to za różnica? W mojej głowie, kiedy naprawiszindex
, zasadniczo wybierasz rodzaj walidacji krzyżowej, więc nie jestem pewien, jaką rolęmethod
gra, jeśli używaszindex
.
Jaka jest różnica pomiędzycreateDataPartition
icreateResample
? To jest tocreateDataPartition
nie robi warstwowego ładowania początkowegocreateResample
nie?
3) Jak mogę to zrobićwarstwowy k-krotna (np. 10-krotna) walidacja krzyżowa za pomocą karetki? Czy zrobią to poniżej?
tmp <- createFolds(logBBB, k=10, list=TRUE, times = 100)
trControl = trainControl(method = "cv", index = tmp)
ctreeFit <- train(bbbDescr, logBBB, "ctree",trControl=trControl)