Tabular Classification
Scikit-learn
Joblib
logistic-regression
credit-risk
loan-default
tabular
binary-classification
Instructions to use gusdelact/loan-default-logreg with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Scikit-learn
How to use gusdelact/loan-default-logreg with Scikit-learn:
from huggingface_hub import hf_hub_download import joblib model = joblib.load( hf_hub_download("gusdelact/loan-default-logreg", "sklearn_model.joblib") ) # only load pickle files from sources you trust # read more about it here https://skops.readthedocs.io/en/stable/persistence.html - Notebooks
- Google Colab
- Kaggle
| license: apache-2.0 | |
| library_name: sklearn | |
| pipeline_tag: tabular-classification | |
| tags: | |
| - logistic-regression | |
| - credit-risk | |
| - loan-default | |
| - tabular | |
| - binary-classification | |
| # loan-default-prediction - Regresion Logistica | |
| Modelo de **clasificacion binaria** de riesgo de *default* de prestamos. | |
| Modelo ganador (vs XGBoost) por interpretabilidad y costo esperado. | |
| ## Uso previsto | |
| Apoyar la decision de originacion de credito: si la probabilidad de default supera | |
| el **umbral de decision (0.816)**, se recomienda **pedir garantia adicional**. | |
| Prioridad de negocio: evitar falsos positivos (no molestar a buenos pagadores). | |
| ## Metricas en el punto de operacion (test, umbral 0.816) | |
| | Metrica | Valor | | |
| |---|---| | |
| | Precision (default) | 0.968 | | |
| | Recall (default) | 0.769 | | |
| | F1 (default) | 0.857 | | |
| | PR-AUC | 0.938 | | |
| | ROC-AUC | 0.980 | | |
| | Costo esperado (3:1) | 12 | | |
| Criterio de negocio: precision >= 0.70 y recall >= 0.40 -> **CUMPLE**. | |
| Matriz de confusion (test=200): TN=160, FP=1, FN=9, TP=30. | |
| ## Coeficientes (log-odds) | |
| | Feature | Coef | | |
| |---|---| | |
| | `age` | -1.0153 | | |
| | `credit_score` | -4.9988 | | |
| | `dependents` | +3.9956 | | |
| | `income` | -2.2871 | | |
| | `home_owner` | -2.8181 | | |
| (Features estandarizadas; signo negativo = mayor valor reduce el riesgo de default.) | |
| ## Datos de entrenamiento | |
| - Fuente: [`gusdelact/loan_default_prediction`](https://huggingface.co/datasets/gusdelact/loan_default_prediction) | |
| - Dataset curado: [`gusdelact/loan-default-curated`](https://huggingface.co/datasets/gusdelact/loan-default-curated) | |
| - Train: 800 filas, 5 features. CV estratificado k=5, scoring=average_precision. | |
| ## Como usar | |
| ```python | |
| import json, joblib, pandas as pd | |
| from huggingface_hub import hf_hub_download | |
| model = joblib.load(hf_hub_download("gusdelact/loan-default-logreg", "model.joblib")) | |
| preproc = joblib.load(hf_hub_download("gusdelact/loan-default-logreg", "preprocessor.joblib")) | |
| info = json.load(open(hf_hub_download("gusdelact/loan-default-logreg", "model_info.json"))) | |
| raw = pd.DataFrame([{"age": 35, "income": 15000, "credit_score": 480, | |
| "dependents": 3, "home_owner": 0}]) | |
| Xp = pd.DataFrame(preproc.transform(raw[info["raw_feature_order"]]), | |
| columns=info["processed_feature_order"]) | |
| proba = model.predict_proba(Xp)[0, 1] | |
| decision = "pedir garantia" if proba >= info["decision_threshold"] else "aprobar" | |
| print(proba, decision) | |
| ``` | |
| ## Fundamento teorico (resumen del diseno) | |
| - EDA: `credit_score` predictor mas fuerte, `dependents` monotonica; sin multicolinealidad. | |
| - FE: Yeo-Johnson en `income` (sesgo), escalado, `dependents` ordinal (FES 5.5, 6.1). | |
| - Modelado: LogReg L2, C por CV; sin resampling para preservar probabilidades (ISLP 4.4). | |
| - Validacion: umbral calibrado por costo 3:1 (ISLP 4.4, ESL 9.2); PR-AUC sobre ROC con desbalance (FES 3.2.2). | |
| ## Limitaciones | |
| - Dataset pequeño y probablemente sintetico; rangos acotados. No extrapolar fuera de | |
| `age` 20-69, `credit_score` 300-849, `income` <= 100k. | |
| - Umbral calibrado sobre el test (39 positivos): metricas algo optimistas. | |
| - Ratio de costos 3:1 es asuncion de negocio no validada. NO usar como unica base de | |
| decisiones crediticias sin revision humana y cumplimiento regulatorio. | |
| _Generado el 2026-06-24 por el pipeline data-science-assistant._ | |