Cómo manejar conjuntos de datos desequilibrados en proyectos de aprendizaje automático | de Jiayan Yin | octubre 2024

Cómo manejar conjuntos de datos desequilibrados en proyectos de aprendizaje automático | de Jiayan Yin | octubre 2024

Técnicas para manejar conjuntos de datos desequilibrados, ejemplos y fragmentos de Python

Foto por Nick Fewings seguro desempaquetar

Imagine que ha entrenado un modelo predictivo con una puntuación de precisión de hasta 0,9. Las métricas de evaluación como la precisión, la recuperación y la puntuación f1 también parecen prometedoras. Pero tu experiencia e intuición te dijeron que algo andaba mal, así que investigaste más profundamente y descubriste esto:

Imagen_1: captura de pantalla del autor

El aparentemente fuerte desempeño del modelo está impulsado por la clase mayoritaria. 0 en su variable objetivo. Por lo obvio desequilibrio entre clases mayoritarias y minoritarias, el modelo sobresale en predecir su clase mayoritaria 0 mientras que el desempeño de la clase minoritaria 1 dista mucho de ser satisfactorio. Sin embargo, debido a que la clase 1 representa una parte muy pequeña de la variable objetivo, su desempeño tiene poco impacto en las puntuaciones generales de estas medidas de evaluación, lo que genera la ilusión de que el modelo es sólido.

Este no es un caso raro. Por el contrario, los científicos de datos frecuentemente encuentran conjuntos de datos desequilibrados en proyectos del mundo real. A conjunto de datos desequilibrado se refiere a un conjunto de datos donde las clases o categorías no están