Equilibrio de datosHola,
Quiero balancear mis datos antes de analizarlos, ya que mi tasa de respuesta es de tan solo el 27 %. Primero creé una columna de validación estratificada (basada en mi columna objetivo) para crear los conjuntos de entrenamiento, validación y prueba. Mi pregunta es: ¿debería balancear mis datos en los conjuntos de entrenamiento y validación, no en el de prueba o solo en el de entrenamiento? Me gustaría usar la técnica SMOTE y, finalmente, la técnica de validación cruzada de la plataforma de cribado de modelos en las bases de datos concatenadas (entrenamiento, validación y prueba) con una columna de validación para el análisis del rendimiento del conjunto de prueba. ¿Es este método la forma de balancear mis datos antes de la validación cruzada? Se agradecen otras sugerencias.
Saludos,
Lunes
Análisis y modelado de datos básicosModelado predictivo y aprendizaje automáticoRe: Equilibrio de datosHola @Lu ,
Tengo sentimientos encontrados sobre SMOTE u otras técnicas de equilibrio para la clasificación:
- SMOTE destruye por completo la calibración del clasificador (al cambiar completamente la proporción de las dos clases durante la fase de aprendizaje), lo que significa que las probabilidades calculadas por el clasificador no corresponden a las probabilidades reales medidas en el conjunto de datos. Esto puede ser especialmente delicado para ciertas aplicaciones (sanidad, finanzas/banca, etc.), ya que a veces se necesitan las probabilidades calculadas en lugar de la clase mayoritaria final.
- Además, en el artículo original y confirmado en estudios posteriores , SMOTE solo ofrece pequeñas ventajas cuando el clasificador es un modelo de aprendizaje débil, como el árbol de decisión y el Naïve Bayes. Cuando se utiliza con modelos de vanguardia o "fuertes" (como Random Forest, XGBoost, etc.), SMOTE no ofrece ventajas e incluso puede ser perjudicial para el aprendizaje. Otro estudio aquí: Los perjuicios de las correcciones de desequilibrio de clases para modelos de predicción basados en aprendizaje automático: Un estudio de simulación - Carriero - 2025 - Estadística en Medicina - Biblioteca en línea de Wiley
En la mayoría de los estudios, la conclusión con respecto a estas técnicas es la misma: " la predicción adecuada y mejor se logra utilizando un clasificador fuerte y equilibrar los datos no es necesario ni beneficioso " o " corregir el desequilibrio de clases no siempre es necesario e incluso puede ser perjudicial para los modelos de predicción clínica que apuntan a producir estimaciones de riesgo confiables a nivel individual ".
- SMOTE puede ser beneficioso en contextos específicos, como al usar estudiantes con dificultades de aprendizaje o cuando no se pueden ajustar los umbrales de decisión, pero su beneficio relativo también puede variar según las métricas de rendimiento elegidas. Por lo demás, no lo recomiendo.
Un 27% para una clase minoritaria no representa un desequilibrio considerable, y métodos clásicos como ajustar los Umbrales de Decisión o especificar una Matriz de Beneficios deberían ayudarle a ajustar el rendimiento de su clasificador a la situación. Añadir nuevas características/variables, preprocesar los datos (ingeniería de características) para complementar el modelo, añadir nuevos datos o seleccionar las observaciones más representativas y diferentes, y probar varios modelos para compararlos y realizar análisis comparativos también puede ayudarle a mejorar su rendimiento.
Es importante comprender que los datos desequilibrados son un problema solo porque la clase minoritaria en el conjunto de entrenamiento no es lo suficientemente representativa o las características no son indicadores suficientemente buenos para la etiqueta. Lo ideal es resolver estos dos problemas; entonces, el modelo puede funcionar perfectamente a pesar del desequilibrio.
Dicho esto, añadir una operación SMOTE (o cualquier preprocesamiento) al flujo de trabajo (si es necesario) debe hacerse con cuidado para evitar la fuga de datos y expectativas de rendimiento demasiado optimistas. SMOTE o cualquier otra técnica de balanceo debe aplicarse en los conjuntos de entrenamiento y validación (para entrenar, comparar y seleccionar el modelo con mejor rendimiento), pero obviamente no en el conjunto de prueba, ya que el modelo debe funcionar y evaluarse en condiciones reales (con un desequilibrio grave).
Espero que esta respuesta te ayude.
Re: Equilibrio de datosGracias por tus claros consejos Víctor.
Por el momento, he comprobado el rendimiento de mis modelos con los complementos de "Clasificación Desequilibrada" y he calculado la precisión de recuperación y el AUC ROC para los modelos de redes neuronales, Bootstrap Forest y Boosted Tree con SMOTE y balanceo de TOMEC, sin ponderación. Sin embargo, esto no mejoró el AUC en absoluto. Por lo tanto, balancear mis datos probablemente no mejoraría el rendimiento.
Gracias por su apoyo,
Saludos
Lunes
Re: Equilibrio de datosHola Russ,
Tengo una columna de Validación que distingue entre las filas de entrenamiento, validación y prueba. ¿Debería especificarse esta columna en la plataforma de cribado de modelos al aplicar la validación cruzada anidada? He observado que el resumen de las estadísticas de rendimiento varía según se incluya o no esta columna.
¿Podrías confirmarme cuál sería el enfoque recomendado en este caso?
Me gustaría comparar e informar el rendimiento de los modelos ML.
¿Existe una forma rápida de obtener más detalles que el informe resumido producido actualmente, como F1, MCC, Sens, Spec, FP, FN, ...?
saludos,
Lunes
Re: Equilibrio de datosHola @Lu ,
Si ha seleccionado una opción de validación cruzada al iniciar la plataforma de selección de modelos, agregar una columna de validación no cambiará nada, ya que la opción de validación cruzada seleccionada tomará el control de la columna de validación: Inicie la plataforma de selección de modelos (parte de validación).
Los diferentes resultados que puede obtener se deben más bien a la semilla aleatoria si no la corrigió. Añadir o no una columna de validación al seleccionar una opción de validación cruzada generará los mismos resultados con una semilla aleatoria fija:

Respecto al tema (amplio) de evaluación, comparación y selección de modelos, hay varios otros temas que pueden ayudarle a encontrar una estrategia de validación relevante:
¿Cómo realizar una validación cruzada de k-fold en modelos ML (por ejemplo, redes neuronales y bosques aleatorios) y verificar el rendimiento del modelo en datos de prueba fijos? selección de modelos
Una o más columnas de validación
Validación cruzada utilizando la calidad de ajuste k-fold
¿Métodos de validación cruzada de tipo "dejar uno fuera" o de tipo "k-fold"?
VALIDACIÓN CRUZADA - MÉTODO DE COLUMNA DE VALIDACIÓN
Espero que esta respuesta te ayude.