Ahora que tengo un R
marco de datos (capacitación), ¿alguien puede decirme cómo dividir aleatoriamente este conjunto de datos para hacer una validación cruzada 10 veces?
cross-validation
user22062
fuente
fuente
Respuestas:
caret
tiene una función para esto:Entonces cada elemento de
flds
es una lista de índices para cada conjunto de datos. Si se llama a su conjunto de datosdat
,dat[flds$train,]
obtiene el conjunto de entrenamiento,dat[ flds[[2]], ]
el segundo conjunto de plegado, etc.fuente
Aquí hay una manera simple de realizar 10 veces sin paquetes:
fuente
Probablemente no sea la mejor manera, pero aquí hay una forma de hacerlo. Estoy bastante seguro de que cuando escribí este código, tomé prestado un truco de otra respuesta aquí, pero no pude encontrar el enlace.
fuente
a continuación encontrará otro código que uso (prestado y adaptado de otra fuente). Lo copié directamente de un guión que acabo de usar yo mismo, dejado en la rutina rpart. La parte probablemente más interesante son las líneas sobre la creación de los pliegues. Alternativamente, puede usar la función de cruce del paquete bootstrap.
fuente
¡Todo hecho por ti en una sola línea de código!
fuente
Como no incluí mi enfoque en esta lista, pensé que podría compartir otra opción para las personas que no tienen ganas de instalar paquetes para una validación cruzada rápida
Tenga en cuenta que el código anterior supone que los datos ya están barajados. Si este no fuera el caso, podría considerar agregar algo como
fuente