Machine Learning 7 min lectura

Más allá de SMOTE: estrategias efectivas para clasificación desbalanceada

Los problemas de clasificación desbalanceada son la norma en fraude, salud y churn. SMOTE fue la solución popular, pero en datos de producción falla con frecuencia. Este artículo presenta alternativas prácticas, métricas adecuadas y un marco de decisión para elegir la estrategia correcta.

Por Redaccion TD
Más allá de SMOTE: estrategias efectivas para clasificación desbalanceada

Introducción

La mayoría de los problemas de clasificación que enfrentan las empresas son inherentemente desbalanceados: transacciones fraudulentas, enfermedades raras, clientes que abandonan y fallas de equipos ocurren con baja frecuencia pero alto impacto. Durante años SMOTE fue el recurso inmediato para equilibrar clases, pero en el mundo real de datos ruidosos y de alta dimensionalidad no siempre funciona. En este artículo explico por qué ocurre esto y propongo enfoques más robustos: aprendizaje con costos, funciones de pérdida modernas, ensamblados balanceados, detección de anomalías y las métricas que realmente importan.

Qué significa el desbalance de clases

El desbalance ocurre cuando una clase (la minoritaria) tiene muchas menos observaciones que la mayoritaria. Se suele expresar mediante una ratio de desbalance (por ejemplo 100:1). La minoría suele ser la clase con valor de negocio: fraudes, diagnósticos positivos, churns o fallas. Por eso los errores no son simétricos: perder un positivo puede costar mucho más que equivocarse en un negativo. Esa asimetría debe guiar cada decisión de modelado.

Por qué la exactitud engaña

La métrica de accuracy pondera por igual todas las predicciones. En un set con 98% de negativos, un modelo que predice siempre negativo alcanza 98% de exactitud pero es inútil para detectar la clase crítica. Para problemas desbalanceados conviene priorizar métricas que enfaticen la minoría: recall, precision, curva PR-AUC, precision@k o métricas de coste que reflejen las pérdidas reales del negocio.

Playground reproducible: dataset y herramientas

Para comparar métodos conviene partir de un playground consistente. Un ejemplo común es un conjunto sintético que imita fraude: 20 000 muestras con ~2% de clase minoritaria, 20 características y separación moderada. Este enfoque permite reproducibilidad y facilita probar alternativas antes de aplicar un pipeline a datos sensibles.

Las bibliotecas frecuentes en Python incluyen scikit-learn para modelos y métricas, imbalanced-learn para remuestreo y ensamblados balanceados, y librerías de boosting como XGBoost o LightGBM que admiten ponderación de clases y objetivos personalizados.

Una buena práctica es dividir los datos con estratificación para conservar la proporción de clases entre entrenamiento y prueba.

Breve repaso: qué hace SMOTE y sus limitaciones

SMOTE sintetiza ejemplos minoritarios interpolando entre vecinos cercanos. Existen variantes que intentan corregir ruido o preservar la estructura local. Sin embargo SMOTE falla con frecuencia en datos reales por varias razones:

  • Alta dimensionalidad: la interpolación puede generar puntos irreales que no siguen la verdadera distribución de la minoría.
  • Fronteras solapadas: si las clases se mezclan, SMOTE puede crear muestras que cruzan el límite, empeorando la clasificación.
  • Etiquetas ruidosas: sintetizar sobre etiquetas equivocadas amplifica errores.
  • Sobreajuste local: modelos pueden aprender artefactos de las muestras sintéticas en vez de la señal real.

Por eso SMOTE no debe ser el único recurso y, en muchos casos, ni siquiera la primera opción.

Replanteando la solución: cuatro niveles de intervención

Cuando enfrenten desbalance, conviene pensar en cuatro niveles complementarios:

  1. Nivel de datos: remuestreo (undersampling, oversampling supervisado), generación sintética con cuidado y limpieza de etiquetas.

  2. Nivel de algoritmo: usar aprendizaje con costos o ponderaciones de clase, elegir modelos que incorporen esa asimetría nativamente.

  3. Nivel de pérdida y entrenamiento: aplicar funciones de pérdida diseñadas para desbalance (por ejemplo focal loss o pérdidas reponderadas por clase) y regularización adecuada.

  4. Nivel de decisión: calibración de umbrales, ajuste por coste y ensamblados balanceados o métodos de detección de anomalías cuando la minoría es heterogénea.

No hay una sola respuesta correcta; la elección depende del dataset, la calidad de las etiquetas y las restricciones operativas.

Aprendizaje con costos y funciones de pérdida modernas

En lugar de alterar el dataset, una alternativa sólida es incorporar el coste asimétrico directamente en el entrenamiento. Esto puede hacerse con pesos de clase (soportados por scikit-learn y la mayoría de los Boosters) o con funciones de pérdida que priorizan ejemplos difíciles. Entre las técnicas contemporáneas se destacan pérdidas como focal loss, que reduce el peso de ejemplos fáciles y concentra el aprendizaje en los raros y difíciles. También existen técnicas de reponderación por la frecuencia efectiva de clase que evitan sesgos por tamaño de muestra.

El beneficio clave es que el modelo aprende a tratar distinto cada error sin introducir muestras sintéticas potencialmente irreales.

Ensamblados balanceados y modelos robustos

Los ensamblados diseñados para desbalance, como Balanced Random Forest o versiones balanceadas de Bagging, combinan varias ventajas: robustez frente a ruido, menor varianza y capacidad para integrar remuestreo interno sin distorsionar el entrenamiento del ensamblado. Otra ruta es usar Boosting con pesos de clase o con objetivos personalizados que reflejen el coste de los falsos negativos.

Estas soluciones suelen ser más estables que SMOTE puro en datos reales.

Detección de anomalías cuando la minoría no es homogénea

Si la clase minoritaria abarca varios patrones distintos o su densidad es extremadamente baja, un enfoque de detección de anomalías puede ser más apropiado. Modelos de una sola clase, autoencoders o métodos no supervisados permiten identificar violaciones del comportamiento normal sin depender de una muestra representativa de la minoría.

Umbral, calibración y decisión final

Una vez entrenado el modelo, el siguiente paso es calibrar el umbral de decisión según objetivos de negocio: maximizar recall para reducir pérdidas por falsos negativos o controlar la tasa de falsas alarmas para no saturar al equipo de fraude. Use un conjunto de validación para elegir el umbral y monitorice métricas relevantes en producción, no solo accuracy.

Marco práctico paso a paso

  1. Definir la métrica de negocio (coste por FN/FI, recall objetivo, precision@k).
  2. Establecer un baseline simple (p. ej., regresión logística sin ajustes) para evidenciar el problema de accuracy.
  3. Intentar aprendizaje con pesos de clase y modelos robustos (boosting con class_weight).
  4. Probar funciones de pérdida modernas si hay ejemplos suficientes y ruido controlado.
  5. Evaluar ensamblados balanceados antes de aplicar remuestreo agresivo.
  6. Si no hay buena representación de la minoría, explorar detección de anomalías.
  7. Ajustar umbrales en validación y desplegar con monitoreo de métricas relevantes.

Ejemplo conceptual: pipeline de detección de fraude

Un pipeline típico incluye recolección estratificada de datos, validación y limpieza de etiquetas, ingeniería de variables, entrenamiento de un booster con pesos de clase, prueba de un ensamblado balanceado y calibración del umbral con base en la tasa aceptable de falsas alarmas. SMOTE puede ser una herramienta en la caja, pero debería usarse solo tras comparar con las alternativas previas y verificando que las muestras sintéticas no introduzcan sesgo.

Métricas para comparar resultados

Prioricen PR-AUC y curvas precision-recall. Usen precision@k si el flujo operativo revisa solo los k alertas superiores. Incluyan métricas de coste que traduzcan falsos negativos en pérdida monetaria. Eviten confiar en accuracy para la toma de decisiones.

Conclusión

SMOTE dejó de ser la solución automática para el desbalance. En entornos de producción con datos ruidosos y alta dimensionalidad, estrategias basadas en aprendizaje con costos, pérdidas modernas, ensamblados balanceados y detección de anomalías suelen dar mejores resultados. Lo más importante es definir la métrica de negocio, experimentar en un playground reproducible (por ejemplo el dataset sintético de 20 000 muestras con ~2% de positivos) y elegir la combinación de intervenciones que mejor equilibre detección y operatividad. En América Latina, donde muchas organizaciones enfrentan restricciones de datos y recursos operativos, priorizar modelos robustos y monitoreables suele ser la decisión más práctica.

Fuente original: Analytics Vidhya