En weka, ¿qué significan las cuatro opciones de prueba y cuándo las usa?

En general, cuando está creando un problema de aprendizaje automático, tiene un conjunto de ejemplos que se le dan, etiquetado como A. A veces tiene un conjunto de ejemplos por separado que no está destinado a ser utilizado para la capacitación, llamemos a esto B. Esto nos da las cuatro opciones en Weka:

  • Cree un modelo en el archivo A, aplíquelo al archivo A: esto es una prueba en el conjunto de entrenamiento. Esta es generalmente una mala idea desde el punto de vista de la evaluación. Esto es como ver las mismas preguntas exactamente en el examen como lo haría en la vida real. Algunos clasificadores (por ejemplo, el vecino más cercano, por ejemplo) siempre obtienen el 100% en el conjunto de entrenamiento.
  • Cree un modelo en el archivo A, aplíquelo al archivo B: si tiene un archivo B, este es el que desea hacer. Pero no siempre tienes un archivo B.
  • ¡Pero los datos son caros! Y podríamos estar usando B para entrenamiento en lugar de pruebas. Entonces, ¿qué pasa si tomo el archivo A, lo divido en 5 partes iguales, T, U, V, W, X. Luego entreno en T, U, V, W y pruebo en X. Luego entreno en T, U, V , X y prueba en W, y prueba de manera similar en V, U y T, y luego promedia los resultados de precisión. Debido a que estoy repitiendo el proceso 5 veces, obtengo una varianza más baja, por lo que es probable que mi estimación de la precisión de mi clasificador esté más cerca de la verdad. Esta sería una validación cruzada de 5 veces. ¡También lleva 5 veces más tiempo!
  • Ugh Odio que lleve 5 veces más tiempo, así que ¿por qué no hago solo un pliegue? Divida los datos en 80% de entrenamiento y 20% de prueba. Esta es la división porcentual.

¿Cuándo aplicar cada uno?

  • Nunca pruebe en el conjunto de entrenamiento, a menos que tenga una buena razón.
  • En ausencia de otras cosas y si el conjunto de entrenamiento es pequeño, siempre haré validación cruzada. ¡Tenga en cuenta que aunque es lento, es paralelizable!
  • En general, no usaré un conjunto de prueba separado (a menos que sepa que el conjunto de prueba tiene una distribución diferente); y no haré división porcentual a menos que haya una muy buena razón.

En palabras fáciles:

Para ambos, entrenamiento y pruebas , necesita datos. Esas opciones se utilizan para informar a Weka cómo proceder sobre los datos de prueba que utilizará.

  • Usar conjunto de entrenamiento: significa que pondrás a prueba tus conocimientos con los mismos datos que aprendiste. No es muy aceptado porque puedes hacer que construyas tu código para memorizar las instancias de entrenamiento (que estarán en la prueba). No he visto uso para eso en publicaciones.
  • Conjunto de prueba suministrado: es un archivo externo que puede usar como conjunto de entrenamiento. Se puede usar cuando desee / necesite probar el conocimiento del algoritmo contra un conjunto de prueba específico. Aunque no lo he usado.
  • División porcentual: divide los datos y separa el x% de los datos para el aprendizaje y el resto para las pruebas. Es útil cuando su algoritmo es lento.
  • Validación cruzada (CV): funciona como muchas divisiones porcentuales. Dobla los datos en 10 pliegues (por ejemplo) y repite 10 (porque son 10 pliegues) el siguiente proceso: use 9 pliegues para aprender y deje 1 pliegue para probar. Cada vez dejando un pliegue diferente para las pruebas. Este es el método de prueba más utilizado en los documentos. Dicen que “cualquier cosa más de 5 veces es aceptable”, pero nadie tiene una buena explicación para eso.

La idea principal es probar su algoritmo donde no aprendió para que pueda probar que no solo memorizó los datos. Entonces, básicamente, los 3 últimos métodos están bien, siendo el CV el más aceptado.

Creo que debería leer esta respuesta para aclarar sus dudas: la respuesta de Shehroz Khan a ¿Qué es un conjunto de datos de entrenamiento y un conjunto de datos de prueba en el aprendizaje automático? ¿Cuáles son las reglas para seleccionarlos?

More Interesting

Cuando se estandarizan los datos como un paso de preprocesamiento, ¿por qué se usa la media y la varianza utilizadas en el tiempo del tren también en el momento de la prueba?

¿Qué tan similares son los problemas en los diversos campos del análisis de datos (aprendizaje automático, estadísticas, procesamiento de señales, optimización, teoría de la información, etc.)?

¿Por qué algunos sistemas de recomendación, como Netflix, dejan de funcionar con demasiadas calificaciones?

¿Las computadoras son ahora jugadores de póker más fuertes que los humanos?

¿Qué herramienta es mejor para aprender una red neuronal AI, C ++ o MATLAB?

Cómo entrenar a una CNN con datos insuficientes y no tan buenos

¿Por qué todavía necesitamos aprender Minería de datos cuando tenemos Mahout?

¿El éxito de un algoritmo particular causa una lentitud de progreso en el desarrollo de mejores algoritmos?

¿Keras es mejor que Tensorflow para el aprendizaje profundo?

¿Las empresas de reconocimiento de imágenes / servicios API utilizan solo modelos neuronales profundos y nada más?

¿La variable de tiempo muestra una conexión recurrente en RNN?

¿AWS es bueno para ejecutar proyectos de aprendizaje profundo? ¿Qué tan rápido y costoso sería entrenar una red convolucional en aproximadamente 1 millón de imágenes?

Cómo conseguir un trabajo de nivel de entrada en India en el campo de la robótica, la inteligencia artificial o el aprendizaje automático

¿Cuáles son algunos ejemplos reales de modelos estadísticos que son pobres en la predicción pero útiles para la inferencia?

¿Cómo se usan los árboles BSP (partición de espacio binario) en los algoritmos de aprendizaje automático?