Proyecto final · Curso de Machine Learning, Talento Tech

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.

Python scikit-learn Pandas Seaborn / Matplotlib 1.470 registros · 35 variables

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.

Distribución de la variable Attrition, mostrando el desbalance entre empleados que se quedan y que renuncian
Distribución de la variable objetivo — desbalance de clases (~84% / 16%)
Matriz de correlación entre las variables numéricas del dataset
Matriz de correlación de variables numéricas

Preprocesamiento y modelado

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.

6% / 62%
Recall sobre renuncias reales — Random Forest / Regresión Logística
0,75 / 0,80
ROC AUC en test — Random Forest / Regresión Logística
Curvas ROC comparando Random Forest y Regresión Logística
Curvas ROC — comparación de ambos modelos
Matrices de confusión de Random Forest y Regresión Logística
Matrices de confusión sobre el conjunto de test

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.

0,83
ROC AUC — Regresión Logística (5-fold CV)
0,80
ROC AUC — Random Forest (5-fold CV)
Top 10 variables más importantes según Random Forest
Top 10 variables más importantes (Random Forest). En términos de negocio, estas variables representan los factores con mayor influencia sobre la probabilidad de abandono y pueden servir como punto de partida para estrategias de retención por parte de RR.HH.

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.