SIGNO DE INTERCALACIÓN. Relación entre la división de datos y trainControl
He leído cuidadosamente elSIGNO DE INTERCALACIÓN documentación en:http://caret.r-forge.r-project.org/training.html, las viñetas, y todo está bastante claro (¡los ejemplos en el sitio web ayudan mucho!), pero todavía estoy confundido acerca de la relación entre dos argumentos paratrainControl
:
method
index
y la interacción entretrainControl
y las funciones de división de datos en caret (por ejemplo,createDataPartition
, createResample
, createFolds
ycreateMultiFolds
)
Para encuadrar mejor mis preguntas, permítame usar el siguiente ejemplo de la documentación:
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)
Mis preguntas son:
Si yo usocreateDataPartition
(lo cual supongo que hace un bootstrapping estratificado), como en el ejemplo anterior, y paso el resultado comoindex
atrainControl
necesito usarLGOCV
como el metodo en mi llamadatrainControl
? Si uso otro (por ejemplo,cv
) ¿Qué diferencia haría? En mi cabeza, una vez que lo arregles.index
, esencialmente estás eligiendo el tipo de validación cruzada, así que no estoy seguro de qué rolmethod
juega si usasindex
.
Cuál es la diferencia entrecreateDataPartition
ycreateResample
? Es esocreateDataPartition
hace estratificado bootstrapping, mientras quecreateResample
no?
3) como puedo hacerestratificado ¿K-fold (por ejemplo, 10 veces) validación cruzada usando caret? ¿Lo siguiente lo haría?
tmp <- createFolds(logBBB, k=10, list=TRUE, times = 100)
trControl = trainControl(method = "cv", index = tmp)
ctreeFit <- train(bbbDescr, logBBB, "ctree",trControl=trControl)