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

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

Foto por Nick Fewings en 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 precisión, recuperación y puntuación f1 también parecen prometedoras. Pero tu experiencia e intuición te dijeron que algo no está bien, así que investigaste más y encontraste esto:

Image_1 — Captura de pantalla del autor

El aparentemente fuerte desempeño del modelo está impulsado por la clase mayoritaria. 0 en su variable objetivo. Debido a lo evidente desequilibrio entre las clases mayoritaria y minoritaria, 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 porción muy pequeña de la variable objetivo, su desempeño tiene poco impacto en las puntuaciones generales de estas métricas de evaluación, lo que da 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 se encuentran con conjuntos de datos desequilibrados en los proyectos del mundo real. Un conjunto de datos desequilibrado se refiere a un conjunto de datos donde las clases o categorías no están