Predicción de Rotación de Empleados (Attrition)
Un modelo de clasificación para anticipar qué empleados tienen mayor probabilidad de renunciar, usando el dataset IBM HR Analytics — comparando Random Forest y Regresión Logística con métricas pensadas para datos desbalanceados.
El problema
Cuando un empleado renuncia, la empresa pierde tiempo, conocimiento y plata en volver a contratar y capacitar a alguien nuevo. El objetivo de este proyecto fue construir un modelo que identifique, con anticipación, qué empleados tienen mayor riesgo de irse — para que el área de RR.HH. pueda actuar antes, no después.
Trabajé sobre el dataset público IBM HR Analytics Employee Attrition & Performance, con información de 1.470 empleados y 35 variables (edad, ingreso, horas extra, distancia al trabajo, satisfacción laboral, entre otras).
Análisis exploratorio
Antes de modelar, miré cómo se distribuían las variables y detecté un problema clave: solo el 16% de los empleados del dataset había renunciado. Ese desbalance de clases condicionó todas las decisiones metodológicas de ahí en adelante — desde cómo entrenar los modelos hasta qué métricas usar para evaluarlos.
Preprocesamiento y modelado
- Codifiqué las variables categóricas (Label/One-Hot Encoding) y estandaricé las numéricas.
- Entrené dos modelos con
class_weight='balanced'para compensar el desbalance: Random Forest y Regresión Logística. - Como el dataset está desbalanceado, evaluar solo con Accuracy sería un error metodológico: un modelo podría ignorar la clase minoritaria y aun así parecer bueno. Por eso analicé el reporte de clasificación completo (Precision, Recall, F1-Score y ROC AUC), priorizando la capacidad de detectar a los empleados que efectivamente abandonan la empresa.
- Validé la estabilidad de ambos modelos con validación cruzada de 5 particiones (5-Fold CV).
Resultados
El Random Forest obtuvo un 83% de Accuracy, pero ese número engaña: detectó correctamente solo 3 de los 47 empleados que realmente renunciaron en el conjunto de prueba (Recall del 6%). Es decir, casi siempre predijo "se queda" y acertó por el simple hecho de que la mayoría de la gente se queda.
La Regresión Logística, en cambio, tuvo una Accuracy menor (75%) pero identificó correctamente 29 de los 47 casos de renuncia (Recall del 62%). El costo fue una precisión más baja (34%, es decir, más falsos positivos), pero para este problema de negocio es preferible: es mucho más barato revisar de más a algunos empleados que no iban a renunciar, que no detectar a los que sí lo iban a hacer.
Con validación cruzada de 5 particiones, la Regresión Logística mantuvo un ROC AUC promedio superior (0,83 frente a 0,80 del Random Forest), con baja variabilidad entre particiones en ambos modelos — lo que indica un comportamiento estable y buena capacidad de generalización sobre datos no vistos.
Conclusión
Este proyecto permitió desarrollar y comparar dos modelos de clasificación supervisada para predecir la probabilidad de que un empleado abandone la organización. A partir de la evaluación con múltiples métricas y validación cruzada, la Regresión Logística resultó la alternativa más adecuada para este conjunto de datos: aunque el Random Forest tuvo mayor Accuracy (83%), su capacidad real para identificar empleados en riesgo fue muy limitada (Recall del 6%) por su sesgo hacia la clase mayoritaria.
Desde la perspectiva del negocio, esto es especialmente relevante: la detección temprana de empleados con riesgo de renuncia permite implementar estrategias preventivas de retención. En este contexto, es preferible asumir más falsos positivos que dejar de identificar a alguien que realmente va a irse, dado el costo de perder talento.
Líneas de trabajo futuro:
- Aplicar técnicas de balanceo de clases como SMOTE para mejorar el aprendizaje de la clase minoritaria.
- Optimizar hiperparámetros con GridSearchCV o RandomizedSearchCV.
- Incorporar nuevas variables mediante Feature Engineering.
- Evaluar modelos más avanzados (XGBoost, LightGBM, CatBoost) para ver si mejoran la capacidad predictiva sin perder interpretabilidad.