IzanMoya's picture
Update README.md
a7f8ed8 verified
---
language:
- es
- en
tags:
- finance
- credit-scoring
- risk-assessment
- tabular-classification
- bank-marketing
- lightgbm
- explainable-ai
- shap
license: apache-2.0
metrics:
- roc_auc
- recall
---
# 🏦 Credit Risk Scoring Model (TFM)
## 📋 Ficha Técnica del Proyecto
| Campo | Descripción |
| :--- | :--- |
| **Autor** | Izan Moya Romero |
| **Tipo de Modelo** | Clasificación Binaria Supervisada (Riesgo de Impago) |
| **Algoritmo Final** | LightGBM (Gradient Boosting) con Ponderación de Clases |
| **Dataset Original** | [Home Credit Default Risk](https://www.kaggle.com/c/home-credit-default-risk) |
| **Entorno** | Banca / Fintech / Análisis de Riesgos |
| **Input** | Datos tabulares (Ingresos, Edad, Historial, Ratios Financieros de Negocio) |
| **Output** | Probabilidad de Default (0 - 1) |
| **Estado** | ✅ Completado (Modelo Entrenado, Evaluado y Explicable) |
## 📖 Descripción del Proyecto
Este modelo es el resultado del Trabajo de Fin de Máster (TFM) en **Big Data e Inteligencia Artificial**.
El objetivo principal es desarrollar una herramienta de soporte a la decisión para entidades bancarias que permita estimar la probabilidad de impago (Default) de un préstamo. A diferencia de las soluciones de "caja negra" habituales en competiciones (basadas en *ensembling* masivo de múltiples tablas), este proyecto adopta un enfoque *Lean* y regulatorio: maximizar el poder predictivo utilizando una única tabla de datos enriquecida mediante lógica financiera, garantizando una **explicabilidad total (XAI)** compatible con las normativas bancarias europeas (Basilea III/IV).
## ⚙️ Metodología y Pipeline
El flujo de trabajo sigue los más estrictos estándares de la industria de riesgos:
1. **Ingeniería de Datos y Limpieza:**
* Tratamiento de valores nulos (Missing Not At Random) mediante imputación semántica (Flagging + Mediana) y creación de la categoría explícita `Unknown` para variables categóricas, evitando sesgos.
* Eliminación de variables con alta multicolinealidad (correlación Pearson > 0.98).
* Codificación híbrida: `LabelEncoding` (binarias) y `One-Hot Encoding` (nominales).
2. **Feature Engineering (Lógica de Negocio):**
* **Ratios de Capacidad de Pago:** Creación de proxies financieros como *Debt-to-Income* (`PAYMENT_RATE`) y duraciones estimadas (`CREDIT_TERM`).
* **Estrés de Liquidez:** Proxy de *Loan-to-Value* evaluando la sobre-financiación solicitada frente al valor real del bien (`CREDIT_GOODS_DIFF`).
* **Consenso de Mercado:** Agregaciones estadísticas combinando las puntuaciones de los burós de crédito externos (`EXT_SOURCE`).
3. **Benchmark de Modelos y Estrategia de Validación:**
* Se implementó un *Split* estratificado (70/10/20) para evitar el *Data Leakage* y el coste computacional prohibitivo de un K-Fold en un dataset >300k registros.
* Se evaluaron múltiples familias de algoritmos: **Random Forest** (Bagging con SMOTE), **LinearSVC** (Geométrico), **MLPClassifier** (Redes Neuronales) y **LightGBM** (Boosting).
* **Selección:** El sobremuestreo sintético (SMOTE) fue superado por el balanceo de pesos interno (`is_unbalance=True`). El ganador absoluto fue LightGBM.
## 📊 Resultados y Métricas del Modelo Final (LightGBM)
El modelo logra un equilibrio óptimo entre capacidad predictiva general y sensibilidad para detectar clientes tóxicos.
* **ROC-AUC Score:** **0.756** *(Superando el 0.72 del baseline original)*
* **Recall (Clase 1 - Fraude):** **68%** *(Detecta a casi 7 de cada 10 malos pagadores)*
* **Accuracy Global:** 70%
`![Matriz de Confusión](
![Matriz_Confusion_TFM](https://cdn-uploads.huggingface.co/production/uploads/6890aace81ad6ab8de708dae/t8cF7vy8vZvq-YtSOi3WT.png)
)`
## 🧠 Explicabilidad del Modelo (XAI con SHAP)
Para que el modelo sea auditable por los analistas de riesgos, se ha integrado **SHAP (SHapley Additive exPlanations)**. El análisis confirma que el modelo ha aprendido lógicas de negocio coherentes:
1. **Reputación Externa (`EXT_SOURCE_MEAN`):** Es el factor más determinante. Una mala puntuación en los burós externos dispara el riesgo de forma drástica.
2. **Plazo del Crédito (`CREDIT_TERM`):** Préstamos estructurados a muy largo plazo acumulan mayor incertidumbre y, por ende, mayor riesgo asignado.
3. **Sobre-financiación (`CREDIT_GOODS_DIFF`):** El modelo penaliza severamente a los clientes que solicitan un crédito por un importe muy superior al valor del bien a adquirir, interpretándolo como una necesidad urgente y no declarada de liquidez.
`![Impacto SHAP](
![SHAP_TFM](https://cdn-uploads.huggingface.co/production/uploads/6890aace81ad6ab8de708dae/wfzX-kwAIrXvgIGYTN82F.png)
)`
## ⚠️ Limitaciones y Descargo de Responsabilidad
Este modelo ha sido entrenado con datos históricos anonimizados (*Home Credit Default Risk*) con fines exclusivamente académicos y de demostración técnica. No debe integrarse en sistemas de toma de decisión de concesión de crédito real sin superar auditorías exhaustivas de sesgos (*Fairness*), calibración de probabilidades y cumplimiento normativo local.