Spaces:
Running
Running
| title: Prêt à Dépenser - API de Prédiction | |
| emoji: 💰 | |
| colorFrom: blue | |
| colorTo: green | |
| sdk: docker | |
| pinned: false | |
| # API pour la prédiction du risque de défaillance de paiement d'un Crédit - Prêt à Dépenser | |
| Cette API permet de prédire à l'aide d'un modèle de Machine Learning (Histogramme Gradient Boosting) | |
| si un client risque d'être en défaut de paiement lors de l'analyse de sa demande de prêt. | |
| ## Endpoints disponibles | |
| - `GET /health` - Vérification de l'état de l'API | |
| - `GET /columns` - Liste des colonnes attendues par le modèle | |
| - `POST /predict` - Prédiction pour un client avec les 10 variables les plus importantes | |
| - `POST /predict/file` - Prédiction en lot avec toutes les variables via fichier CSV | |
| ## Documentation interactive | |
| Accédez à la documentation Swagger : `/docs` | |
| ## Accessibilité de l'API | |
| l'API (FastAPI) et son interface graphique (Streamlit) sont déployées sur Hugging Face Spaces (public) et accessibles via les liens suivants. | |
| - **Interface graphique** : https://huggingface.co/spaces/CedM/oc_mlops_projet_2_dashboard | |
| - **Ligne de commande (Linux, MacOS, Windows)** :\ | |
| curl -X GET "https://cedm-oc-mlops-projet-2.hf.space/health" | |
| curl -X GET "https://cedm-oc-mlops-projet-2.hf.space/columns" | |
| curl -X POST "https://cedm-oc-mlops-projet-2.hf.space/predict" -H "Content-Type: application/json" -d '{"features": {"EXT_SOURCE_3": 0.1393757800997895, "EXT_SOURCE_2": 0.2629485927471776, "EXT_SOURCE_1": 0.0830369673913225, "DAYS_EMPLOYED": -637.0, "PAYMENT_RATE": 0.0607492667810303, "INSTAL_DPD_MEAN": 0.0, "PREV_CNT_PAYMENT_MEAN": 24.0, "AMT_ANNUITY": 24700.5, "CODE_GENDER": 0, "PREV_NAME_PRODUCT_TYPE_walk-in_MEAN": 0.0}}' | |
| curl -X POST "https://cedm-oc-mlops-projet-2.hf.space/predict/file" -F "file=@./train_data_sp2_subsample_1.csv" | |
| ## Accessibilité des données pour tester l'API et Logs | |
| - Des données de test sont disponibles dans un Hugging Face Dataset (public) : https://huggingface.co/datasets/CedM/oc_mlops_projet_2/tree/main | |
| Pour faire une demande en lot, prenez par exemple le fichier : `train_data_sp2_subsample_1.csv` | |
| - Les logs de l'API (latence, erreurs) sont accessibles au même endroit (api_log.jsonl) ainsi que l'historique des demandes/réponses de l'API (data_io.csv) pour suivre les prédictions et la dérive des données. | |
| ## Structure du projet | |
| Le projet est hébergé sur Framagit.org (public - instance GitLab) et est poussé automatiquement sur Hugging Face Spaces via GitLab CI sous forme de conteneurs Docker lors d'un PUSH sur la branche `main` de GitLab : | |
| https://framagit.org/dapa/oc_mlops_projet_2 | |
|  | |
| ## Détails de l'interface graphique (Dashboard Streamlit) | |
| Le dashboard permet de : | |
| - Faire une demande de prédiction individuelle basée sur les 10 variables les plus importantes pour la prédiction de défaut de paiement | |
| - Faire une demande en lot via un fichier CSV | |
| - Visualiser la dérive des données (Data drift - pour savoir si il est nécessaire de réentraîner le modèle) | |
| - Visualiser la latence et les erreurs de l'API |