Si hallas algún problema en tu código o trabajo, recuerda probar siempre en un entorno de testing antes aplicar el código al trabajo final.
Solución:
Entonces, aquí está el escenario nuevamente: tiene 100 datos etiquetados
Usar conjunto de entrenamiento
- weka tomará 100 datos etiquetados
- aplicará un algoritmo para construir un clasificador a partir de estos 100 datos
- aplica ese clasificador OTRA VEZ sobre estos 100 datos
- le proporciona el rendimiento del clasificador (aplicado a los mismos 100 datos a partir de los cuales se desarrolló)
Usar CV de 10 veces
-
Weka toma 100 datos etiquetados
-
produce 10 juegos del mismo tamaño. Cada conjunto se divide en dos grupos: 90 datos etiquetados se usan para entrenamiento y 10 datos etiquetados se usan para prueba.
-
produce un clasificador con un algoritmo a partir de 90 datos etiquetados y lo aplica a los 10 datos de prueba para el conjunto 1.
-
Hace lo mismo para el conjunto 2 a 10 y produce 9 clasificadores más
-
promedia el rendimiento de los 10 clasificadores producidos a partir de 10 conjuntos de igual tamaño (90 de entrenamiento y 10 de prueba)
Déjame saber si eso responde a tu pregunta.
Habría respondido en un comentario, pero mi reputación todavía no me permite:
Además de la respuesta aceptada de Rushdi, quiero enfatizar que los modelos que se crean para los conjuntos de pliegues de validación cruzada se descartan después de que se hayan realizado y promediado las mediciones de rendimiento.
El modelo resultante es siempre basado en el conjunto de entrenamiento completo, independientemente de sus opciones de prueba. Como MTA estaba solicitando una actualización del enlace citado, aquí está: https://web.archive.org/web/20170519110106/http://list.waikato.ac.nz/pipermail/wekalist/2009-December/ 046633.html/. Es una respuesta de uno de los mantenedores de WEKA, señalando justo lo que escribí.
Creo que lo descubrí. Tomar como ejemplo) weka.classifiers.rules.OneR -x 10 -d outmodel.xxx
. Esto hace dos cosas:
- Crea un modelo basado en el conjunto de datos completo. Este es el modelo que está escrito para
outmodel.xxx
. este modelo es no utilizado como parte de la validación cruzada. - Después se ejecuta la validación cruzada. la validación cruzada implica crear (en este caso) 10 modelos nuevos con el entrenamiento y las pruebas en segmentos de los datos como se ha descrito. los key es que los modelos utilizados en la validación cruzada son temporales y solo se utilizan para generar estadísticas. No son equivalentes ni se utilizan para el modelo que se entrega al usuario.
Tienes la opción de animar nuestra misión dejando un comentario y dejando una valoración te damos la bienvenida.