Loading repository data…
Loading repository data…
Mateo-Rua / repository
Me apasiona compartir mis aprendizajes y mis proyectos, y en este repositorio encontrarás implementaciones de algoritmos de clasificación. Explora ejemplos prácticos y técnicas de machine learning para mejorar un poco tus habilidades en clasificación.
Proyecto de Machine Learning supervisado que desarrolla un modelo de clasificación para predecir si un cliente cancelará su cuenta bancaria (churn). Utilizando CatBoost como algoritmo principal, se construye un pipeline que abarca análisis exploratorio, manejo de desbalance de clases con SMOTENC, validación cruzada, optimización de hiperparámetros con Optuna, y análisis detallado del rendimiento mediante curvas ROC y Precisión-Recall.
Predecir la variable Churn (cancelación de cuenta) para identificar clientes con alto riesgo de abandono, permitiendo al banco implementar estrategias de retención proactivas. El desarrollo incluye:
Machine-learning---Algoritmos-supervisados---Clasificacion-/
│
├── Predecir_cansela_cuenta_bancaria.ipynb # Notebook con el desarrollo completo
├── churn_train.csv # Dataset de clientes bancarios
├── catboost_info/ # Logs de entrenamiento de CatBoost
└── README.md # Documentación del proyecto
Churn.Variables utilizadas:
| Tipo | Variables |
|---|---|
| Numéricas | Contacts_Count_12_mon, Months_Inactive_12_mon, Total_Revolving_Bal, Total_Ct_Chng_Q4_Q1, Total_Trans_Ct, Avg_Utilization_Ratio |
| Categóricas | Education_Level, Marital_Status, Income_Category, Card_Category |
Se identificó un desbalance significativo en la variable objetivo (más clientes que no cancelan vs. los que sí). Se evaluó SMOTENC (Synthetic Minority Oversampling para datos mixtos numéricos-categóricos) como técnica de balanceo. Tras la validación cruzada, se concluyó que el modelo entrenado con los datos originales sin balancear ofrecía mejor rendimiento, por lo que se descartó el sobremuestreo.
Se eligió CatBoost por su capacidad nativa para manejar variables categóricas sin necesidad de codificación manual. El modelo base se configuró con max_depth=12 y se evaluó con validación cruzada (5-Fold) usando ROC-AUC como métrica principal.
Se optimizaron 4 hiperparámetros mediante 10 trials:
| Hiperparámetro | Rango explorado |
|---|---|
iterations | 1 - 100 |
depth | 1 - 12 |
learning_rate | 0.001 - 0.4 |
colsample_bylevel | 0.01 - 0.1 |
La función objetivo maximiza el ROC-AUC promedio en validación cruzada.
Se evaluó el modelo optimizado con múltiples métricas y visualizaciones:
| Métrica | Descripción |
|---|---|
| Accuracy | Proporción de predicciones correctas sobre el total |
| Sensibilidad (Recall) | Capacidad de detectar clientes que sí cancelan |
| Especificidad | Capacidad de identificar correctamente los que no cancelan |
| ROC-AUC | Capacidad discriminativa global entre ambas clases |
Visualizaciones generadas:
Total_Trans_Ct (número total de transacciones) y Total_Ct_Chng_Q4_Q1 (cambio en transacciones entre trimestres) fueron los predictores más fuertes de churn, lo cual tiene sentido: una disminución en la actividad transaccional es señal de abandono.CatBoostClassifier)SMOTENC)cross_validate, confusion_matrix, roc_auc_score, precision_recall_curve)Clona el repositorio:
git clone https://github.com/Mateo-Rua/Machine-learning---Algoritmos-supervisados---Clasificacion-.git
cd Machine-learning---Algoritmos-supervisados---Clasificacion-
Instala las dependencias:
pip install pandas numpy matplotlib seaborn scikit-learn catboost optuna imbalanced-learn
Abre el notebook:
jupyter notebook Predecir_cansela_cuenta_bancaria.ipynb
La actividad transaccional es el mejor predictor de churn — clientes que reducen su número de transacciones y el monto entre trimestres tienen mayor probabilidad de cancelar.
CatBoost demostró ser ideal para este dataset al manejar nativamente las variables categóricas sin necesidad de codificación, simplificando el pipeline.
El sobremuestreo con SMOTENC no aportó mejora, lo que refuerza que no siempre balancear los datos es la mejor estrategia; la evaluación empírica es clave.
La curva Precisión-Recall es más informativa que la exactitud global para seleccionar el umbral de decisión en problemas de churn con clases desbalanceadas.
Optuna optimizó el modelo encontrando una combinación de hiperparámetros que mejoró la capacidad discriminativa medida por ROC-AUC.
Mateo Rua
Proyecto de clasificación supervisada aplicado al sector bancario para la predicción de churn, con CatBoost, optimización de hiperparámetros y análisis de curvas ROC y Precisión-Recall.