5 votos

Principales opciones para tratar los datos desequilibrados

Por lo que sé, en términos generales, hay tres formas de tratar los conjuntos de datos binarios desequilibrados:

Opción 1 :

  • Cree muestras de validación cruzada k-fold al azar (o incluso mejor, cree muestras k-fold utilizando k-fold estratificado: https://scikit-learn.org/0.16/modules/generated/sklearn.cross_validation.StratifiedKFold.html ).
  • Para cada pliegue, aplique una técnica de remuestreo (remuestreo ascendente, remuestreo descendente o una combinación de ambos) por separado en los conjuntos de "entrenamiento" y "prueba".
  • Utilizar una métrica "tradicional" para la evaluación: por ejemplo, el AUC de la curva ROC (tasa de TP frente a tasa de FP).

Opción 2 :

  • Cree muestras de validación cruzada k-fold al azar (o incluso mejor, cree muestras k-fold utilizando k-fold estratificado).
  • No aplique ninguna técnica de remuestreo.
  • Utilizar una métrica "alternativa" para la evaluación: por ejemplo, el AUC de la curva Precisión-Recall o algo como la puntuación F (la media armónica de Precisión y Recall).

Opción 3 :

  • Utilice algo como XGBoost y ajuste el scale_pos_weight ( https://xgboost.readthedocs.io/en/latest/tutorials/param_tuning.html ).
  • Cree muestras de validación cruzada k-fold al azar (o incluso mejor, cree muestras k-fold utilizando k-fold estratificado).
  • Utilizar una métrica "tradicional" para la evaluación: por ejemplo, el AUC de la curva ROC (tasa de TP frente a tasa de FP).

Mi pregunta principal es si interpreto correctamente cuáles son las opciones. ¿Hay algún error conceptual en lo que estoy diciendo? ¿Es adecuado utilizar el pliegue k estratificado en los tres casos cuando se trata de un desequilibrio? ¿No es necesario aplicar ningún remuestreo cuando se utiliza XGBoost y se afina scale_pos_weight ? Cuando se aplica algún remuestreo (opciones 1 y 3), ¿tiene sentido utilizar una métrica "tradicional" y no tiene sentido utilizar una métrica "alternativa"? En general, ¿el remuestreo debe aplicarse por separado en los conjuntos de entrenamiento y de prueba? etc.

Además, sería bueno si tienes alguna buena referencia de SMOTE y ROSE, respecto a cómo funcionan, cómo aplicarlos y cómo usarlos con python.

4voto

icelava Puntos 548

Los conjuntos de datos desequilibrados no son un problema, y el sobremuestreo no resolverá un no problema. Tenga en cuenta El comentario de Matthew Drury, muy votado, en ese hilo :

Sinceramente, saber que hay alguien más ahí fuera que está desconcertado por las interminables preguntas sobre el equilibrio de la clase es reconfortante.

Gran parte de los supuestos problemas se derivan probablemente del uso de la precisión como KPI, que es una mala idea .

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X