Esto es similar a los métodos de muestreo de Caret , aunque eso realmente nunca respondió a esta parte de la pregunta de una manera acordada.
la función de tren de caret ofrece cvy repeatedcv. ¿Cuál es la diferencia en decir haciendo:
MyTrainControl=trainControl(
method = "cv",
number=5,
repeats=5
)
vs
MyTrainControl=trainControl(
method = "repeatedcv",
number=5,
repeats=5
)
Entiendo que cvdivide el conjunto en k-pliegues (parámetro number), y luego comienza de nuevo y ejecuta sus parámetros repeatsvarias veces.
Lo único que se me ocurre es que, ¿puede ser regular cvcon repeatslos mismos índices exactos para los pliegues cada vez? esencialmente ejecutando los cvmismos pliegues exactos cada vez, ¿vs quizás repeatedcvselecciona nuevos pliegues cada vez?
¿Alguien puede aclarar?
r
machine-learning
caret
Brian Feeny
fuente
fuente

Control()sintaxis del tren en R) para cada uno de los k pliegues cruzados (dado por número). En el pliegue cruzado, mientras se usa CV, es un proceso de una sola vez en cada pliegue (establecido usando números en el trencontrol()).Respuestas:
Según el manual de caret, página 22 , el parámetro
repeatssolo se aplica cuandomethodse establece enrepeatedcv, por lo que no se realiza ninguna repetición cuandomethodse establece encv. Entonces, la diferencia entre ambos métodos es que serepeatedcvrepite ycvno.Aparte: repetir una validación cruzada con exactamente la misma división producirá exactamente el mismo resultado para cada repetición (suponiendo que el modelo esté entrenado de manera determinista), lo que no solo es ineficiente, sino también peligroso cuando se trata de comparar los resultados de validación para diferentes algoritmos modelo de manera estadística. Así que tenga en cuenta esto si alguna vez tiene que programar una validación usted mismo.
fuente
El código real detrás de estos parámetros se puede encontrar en los archivos fuente
selectByFilter.RycreateDataPartition.R(anteriormentecreateFolds.R) en la carpeta `caret / R / 'del paquete.Vea estos archivos, por ejemplo, aquí y aquí (tenga en cuenta que estos enlaces permanentes pueden apuntar a una versión anterior del código). Para mayor comodidad, se muestran a continuación los fragmentos relevantes (a partir de la versión 6.0-78 c. Nov. 2017)
En selectByFilter.R c. línea 157
En createDataPartition.R c. línea 227
fuente