¿Qué es más preferible en el aprendizaje automático, la precisión del modelo A es del 50% en los datos de entrenamiento y del 97% en los datos de las pruebas, o el modelo B tiene una precisión del 80% en los datos del tren y el 75% en los datos de las pruebas? (Más detalles en el comentario abajo) gracias!

Ambos modelos son inútiles.

Si ve un resultado como el del modelo A, que tiene la peor precisión posible en el conjunto de entrenamiento y una precisión súper sorprendente en el conjunto de prueba, significa que todo su experimento es defectuoso. Parece que la precisión del modelo B podría haber sido un resultado decente, pero dado que no se puede confiar en el experimento en sí, primero debe volver y descubrir qué está mal.

Teniendo en cuenta la información adicional en los comentarios, parece que el conjunto de datos es el problema aquí. Su conjunto de entrenamiento tiene 10,000 puntos de datos con 50/50 muestras positivas y negativas. Al mismo tiempo, su conjunto de prueba tiene 1000 puntos de datos con una relación de 90/10 positiva a negativa. Es extremadamente improbable que esto haya sucedido por casualidad. Debe repensar cómo realmente recopila y muestrea estos datos. Los dos conjuntos claramente no se recogen en condiciones similares.

Puede que no haya ningún problema con ninguno de sus modelos per se, pero no tiene forma de saberlo con la forma en que se organizan los datos. Podría intentar dividir los datos de entrenamiento en un entrenamiento y probar con, digamos, 9000 y 1000 muestras cada uno y ver qué sucede entonces.

Por cierto, esto ilustra por qué el uso de la precisión como la única métrica de rendimiento para un clasificador es insuficiente. Debería buscar curvas y métricas ROC como precisión, recuperación y AUC.

Modelo B por una milla.

No porque las métricas impliquen que el modelo B es un mejor modelo, sino porque lo que produce el modelo B es algo que un modelo de aprendizaje automático real podría producir sin socavar fundamentalmente la validez del problema en el que está trabajando. Si vi que las métricas de precisión del modelo B se muestran en la vida real, mi reacción sería: “parece que no he estropeado nada demasiado”. Probablemente pueda enviar esto con buena confianza.

Sin embargo, las métricas vinculadas al modelo A nunca podrían ser válidas si está trabajando en un problema bien construido. Si vi esos resultados, sé que la única conclusión posible es que arruiné algo real en el resultado de mi prueba y el modelo A es totalmente inválido debido a mi error personal. No enviaría este modelo porque simplemente no hay forma de obtener esas métricas en un problema bien construido.

Modelo A:

  1. El conjunto de prueba es demasiado pequeño para obtener una buena distribución, representativo de todo el conjunto de datos. Un ejemplo extremo de esto sería si toma un solo punto de datos como datos de prueba y, afortunadamente, obtiene la predicción correcta, obtendrá una precisión del 100%.
  2. Hay un error en tu código.

Modelo B:

  1. Parece un modelo bastante bueno que muestra resultados convencionales.

Entonces, en general, trataré de depurar lo que está mal con el modelo A

  • use una división de datos del 80% -20% para los datos de prueba de tren
  • intente la validación cruzada.

El primer escenario es bastante poco realista. Si el modelo es 50% preciso con 2 clases posibles en los datos de entrenamiento, entonces es básicamente un lanzamiento de moneda al azar. Es extremadamente improbable que tenga alguna señal real y, por lo tanto, extremadamente improbable que se generalice bien.

Si obtuviera ese resultado, asumiría que hay algo mal con mi código.

Por lo general, los datos de entrenamiento / prueba se dividen arbitrariamente. La idea es utilizar algunos datos que el modelo no ha visto para ver qué tan bien lo hace.

No sabía que los datos de entrenamiento se califiquen realmente en la corrección. La gente de Data Science probablemente sabría más sobre esto.

Pero si estamos hablando de dos modelos con dos conjuntos de datos de prueba …

El modelo A probablemente requiera datos adicionales para ver qué tan bien funciona, podría ser, la división original no fue lo suficientemente aleatoria y hay algún sesgo en alguna parte.

El modelo B es más consistente, por lo que probablemente se prefiera.

El modelo B es más consistente.

Sin embargo, debe intentar obtener más datos y ejecutar los modelos contra ellos. Este podría ser un caso de datos no aleatorios, o por debajo del ajuste.