Skip to content

API pour implementer un modele de scoring. Projet 7 Openclassrooms - Formation Datascientist

License

Notifications You must be signed in to change notification settings

laguill/API_implementer_modele_scoring

Repository files navigation

title emoji colorFrom colorTo sdk sdk_version pinned license app_file short_description thumbnail
Implementer Model Scoring API
🏦
blue
indigo
docker
latest
true
mit
app/main.py
API et dashboard pour prédire le risque de défaut de crédit.

🏦 Implement Scoring Model API

CI QA HF Sync

Ce Hugging Face Space présente un modèle de scoring de risque de défaut de crédit construit à partir du jeu de données Home Credit Default Risk (Kaggle). L'objectif est de prédire si un client remboursera son crédit ou fera défaut.

Le modèle a été conçu, itéré et optimisé dans ce notebook.


📊 Fonctionnalités

  • Backend FastAPI exposant des endpoints de prédiction.
  • Documentation interactive de l'API à /docs (Swagger) et /redoc.
  • Tableau de bord Marimo à /pages/dashboard pour l'explicabilité du modèle :
    • Affiche les 15 caractéristiques les plus importantes du modèle.
    • Graphiques SHAP en cascade pour expliquer chaque prédiction.
    • Visualisations Plotly pour positionner le client parmi tous les clients.
    • Infobulles décrivant chaque caractéristique.

🚀 Live Demo


🛠 Stack Technique

  • FastAPI — Backend de l'API.
  • Marimo — Tableau de bord interactif.
  • LightGBM — Modèle de machine learning.
  • SHAP — Explicabilité du modèle.
  • Hugging Face Spaces — Déploiement avec Docker.
  • Pytest — Tests de l'API.
  • justfile — Automatisation des commandes pour le développement et la maintenance.

📂 Structure du Projet

.
├── app/                   # Backend de l'API
│   ├── api/               # Routes de l'API (prédiction, healthcheck, etc.)
│   ├── asgi.py            # Point d'entrée ASGI (pour le déploiement)
│   └── main.py            # Point d'entrée de l'application FastAPI
│
├── models/                # Artefacts du modèle et du prétraitement
│   ├── Best_LGBM_Model.pkl
│   ├── encoders.pkl
│   ├── customers_data.csv
│   └── model_features.pkl
│
├── pages/                 # Tableaux de bord Marimo
│   └── dashboard.py
│
├── tests/                 # Tests unitaires
│   ├── test_main.py
│   ├── test_pages.py
│   └── test_predict.py
│
├── Dockerfile             # Configuration Docker (pour Hugging Face Spaces)
├── pyproject.toml         # Dépendances et configuration du projet
├── uv.lock                # Fichier de verrouillage pour la reproductibilité
├── justfile               # Commandes courantes de développement (build, lint, test…)
├── development.md         # Instructions pour le développement local
└── README.md              # Documentation du projet

🏃Exécution en Local

Clonez le dépôt et installez les dépendances :

git clone https://github.com/laguill/API_implementer_modele_scoring.git
cd API_implementer_modele_scoring
just install
just start-api

Ouvrez ensuite :

Documentation Swagger → http://127.0.0.1:7836/docs Tableau de bord → http://127.0.0.1:7836/pages/dashboard


📡 Exemple d'Utilisation

En Python

import requests

resp = requests.post(
    "http://127.0.0.1:8000/api/v1/predict",
    json={"SK_ID_CURR": 100001}
)
print(resp.json())

✅ License

MIT License. N'hésitez pas à utiliser, modifier et distribuer ce projet.

About

API pour implementer un modele de scoring. Projet 7 Openclassrooms - Formation Datascientist

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published