¿Qué es exactamente la validación cruzada?

Aug 30 2020

Según mi comprensión de Google y otras publicaciones, como esta, ¿para qué sirve la validación cruzada? y ¿Qué es la validación cruzada? . Entiendo que (k- veces) la validación cruzada significa dividir los datos en ($k-1$) entrenamiento y 1 set de prueba. En otras palabras, se utiliza para encontrar la precisión del modelo.

Entonces, ¿eso significa que si hago una validación cruzada, entonces no necesito dividir mis datos en conjuntos de datos de entrenamiento y prueba? Además, diga si lo hago (en r):

model = train(target~., data = data, method = "glmnet",
  trControl = trainControl("cv", number = 10),
  tuneLength = 10
)

este código me encontrará el mejor modelo en esos 10 ensayos, y luego, cuando haga la predicción, ¿estoy usando el mejor modelo?

Respuestas

3 Bernhard Aug 30 2020 at 15:06

La validación cruzada es una forma especial de dividir los datos en datos de entrenamiento y de prueba, en la que esta división no solo ocurre una vez, sino varias veces. $n$ de veces.

Además, di si lo hago (en r)

Hay un paquete muy poderoso que se puede cargar en R, llamado caret. caretofrece la función muy poderosa trainque se utiliza en su código de muestra. caretde hecho, requiere mucho del trabajo de encontrar el mejor conjunto de parámetros (de una cuadrícula de combinaciones posibles) para el aprendizaje automático; incluso mediante validación cruzada. No tendrá que dividir los datos a mano, pero se producirá la división.

este código me encontrará el mejor modelo

encontrará la mejor combinación de parámetros de una cuadrícula determinada de combinaciones de parámetros probando. Antes de usar una herramienta poderosa como trainusted, debe comprender bien sus opciones, también comprender cómo influir en qué cuadrícula de parámetros se está probando.

Afortunadamente caretviene con grandes explicaciones. Empieza aqui:https://topepo.github.io/caret/model-training-and-tuning.html o mejor empezar por el principio de ese libro.