Esta es una pregunta en general, no específica de ningún método o conjunto de datos. ¿Cómo lidiamos con un problema de desequilibrio de clase en el aprendizaje automático supervisado donde el número de 0 es alrededor del 90% y el número de 1 es alrededor del 10% en su conjunto de datos? ¿Cómo capacitamos de manera óptima al clasificador?
Una de las formas que sigo es el muestreo para equilibrar el conjunto de datos y luego entrenar al clasificador y repetir esto para múltiples muestras.
Siento que esto es aleatorio. ¿Hay algún marco para abordar este tipo de problemas?
Esto depende en gran medida del método de aprendizaje. La mayoría de los enfoques de propósito general tienen una (o varias) formas de lidiar con esto. Una solución común es asignar una penalización de clasificación errónea más alta a la clase minoritaria, obligando al clasificador a reconocerlos (SVM, regresión logística, redes neuronales, ...).
Cambiar el muestreo también es una posibilidad como usted menciona. En este caso, sobremuestrear la clase minoritaria suele ser una mejor solución que submuestrear la clase mayoritaria.
Algunos métodos, como los bosques aleatorios, no necesitan modificaciones.
fuente
A menudo, el problema no es la frecuencia sino la cantidad absoluta de casos en la clase minoritaria. Si no tiene suficiente variación en el objetivo en comparación con la variación en las características, entonces podría significar que el algoritmo no puede clasificar las cosas con mucha precisión.
Una cosa es que la penalización por clasificación errónea podría usarse en el paso de clasificación y no en el paso de estimación de parámetros, si existe. Algunos métodos no tienen el concepto de parámetro, solo producen etiquetas de clase o probabilidades de clase.
Cuando tiene un estimador probabilístico, puede tomar una decisión de clasificación basada en fundamentos teóricos de la información o con una combinación de valor comercial.
fuente
Agregue dos trucos: 1. use CDF, cuente la frecuencia en sus datos de entrenamiento o use una validación muy grande (si su conjunto de prueba no cambiará, pero el conjunto de validación debe tener la misma distribución con el conjunto de entrenamiento), luego ordene su predicción y obtenga primer X% (cuenta la frecuencia antes) para una clase y las otras son otra / 2. muestra ponderada, el modelo tenderá a la clase de muestra ponderada, puede usar la varianza muestral v. ej. pesoi = 1/2 (1- (vmax - vi) / vmax)
fuente