Este proyecto desarrolla un sistema de clasificación basado en redes neuronales para predecir si un cliente suscribirá un depósito a plazo fijo. El enfoque principal se centra en la resolución del desequilibrio de clases y el manejo profesional de outliers.
- Lenguaje: Python
- Librerías: Pandas, NumPy, Scikit-learn, Seaborn, Matplotlib
- Modelos: Perceptrón Multicapa (MLPClassifier)
-
Gestión de Outliers: Implementación de técnica de clipping basada en Z-score (umbral
$\pm 3\sigma$ ) para estabilizar los gradientes sin eliminar datos valiosos. -
Feature Engineering: Normalización con
StandardScalery codificación One-Hot para variables categóricas. -
Tratamiento de Nulos: Sustitución de valores NaN en variables críticas como
poutcomeycontact.
Se comparan dos filosofías de diseño:
- Modelo Wide: Arquitectura simple con optimizador LBFGS, enfocada en la memorización de patrones.
- Modelo Deep: 3 capas ocultas (32, 32, 32) con optimizador Adam, regularización Alpha (L2) y Early Stopping para maximizar la generalización.
Para evitar el sesgo hacia la clase mayoritaria (el "paradoja del accuracy"), se aplicó un Upsampling manual con Pandas.
- Impacto: El Recall de la clase de éxito (clientes interesados) mejoró drásticamente de 0.19 a 0.59.
El modelo Deep con Upsampling demostró ser la mejor herramienta operativa, logrando un equilibrio óptimo entre precisión y capacidad de detección (F1-Score: 0.37).