--- 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 ![title](4_Docs/structure_projet.png) ## 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