He encontrado que Él y García (2009) son una revisión útil del aprendizaje en problemas de clase desequilibrados. Aquí hay algunas cosas que definitivamente no son exhaustivas para tener en cuenta:
Enfoques basados en datos:
Se puede submuestrear la clase mayoritaria o sobremuestrear la clase minoritaria. (Breiman señaló que esto es formalmente el equivalente a asignar costos de clasificación erróneos no uniformes). Esto puede causar problemas: la submuestreo puede hacer que el alumno pierda aspectos de la clase mayoritaria; el sobremuestreo aumenta el riesgo de sobreajuste.
Existen métodos de "submuestreo informado" que reducen estos problemas. Uno de ellos es EasyEnsemble , que muestrea independientemente varios subconjuntos de la clase mayoritaria y crea múltiples clasificadores combinando cada subconjunto con todos los datos de la clase minoritaria.
SMOTE (Técnica de sobremuestreo de minorías sintéticas) o SMOTEBoost (que combina SMOTE con refuerzo) crea instancias sintéticas de la clase minoritaria al hacer vecinos más cercanos en el espacio de características. SMOTE se implementa en R en el paquete DMwR (que acompaña al libro de Luis Torgo "Minería de datos con R, aprendizaje con estudios de casos" CRC Press 2016 ).
Enfoques de ajuste del modelo
Aplique pesos específicos de clase en su función de pérdida (pesos mayores para casos minoritarios).
Para los enfoques basados en árboles, puede usar la distancia de Hellinger como una función de impureza de nodo, como se recomienda en Cieslak et al. "Los árboles de decisión de distancia Hellinger son robustos e insensibles a la inclinación" ( código Weka aquí ).
Utilice un clasificador de una clase , aprendiendo (según el modelo) una densidad de probabilidad o límite para una clase y tratando la otra clase como valores atípicos.
Por supuesto, no use la precisión como métrica para la construcción de modelos. El kappa de Cohen es una alternativa razonable.
Enfoques de evaluación modelo
Si su modelo devuelve probabilidades pronosticadas u otros puntajes, elija un punto de corte de decisión que realice una compensación adecuada de errores (utilizando un conjunto de datos independiente de la capacitación y las pruebas). En R, el paquete OptimalCutpoints implementa una serie de algoritmos, incluidos los sensibles al costo, para decidir un límite.