- Documentation de l'API (Heroku)
- Application Streamlit (Heroku)
- Application Streamlit (Streamlit Cloud)
- Documment de formation - Kevin Duranty
- Antoine Ancelin (Modèle)
- Charley Lebarbier (Front-end)
- David Scanu (Back-end, Tech lead)
- Changer l'algorithme du modèle (XGBoost est trop lourd pour Heroku)
- Utiliser OneHotEncoding pour encoder les features
- Utiliser un pipeline pour sauvegarder l'encoder et le scaler
- Ajouter MLFlow
La banque pour laquelle vous travaillez veut publier assez rapidement son POC (Proof of Concept - Preuve de concept) : Une application permettant à un utilisateur de faire une demande de crédit en ligne.
En tant que data scientist, machine learning engineer, - installer et créer un environment de développement correct :
- mettre en place un environement de développement Git/Github
- entrainer un modèle de classification binaire
- déployer l'API et le modèle dans le cloud
- déployer une application front à l'aide de streamlit
Le projet sera à réaliser en trois jours, chaque équipe est constituée de 3 développeurs, une par feature :
- FRONT (developpement de l'application front)
- BACK (développement de l'API back)
- MODEL (entrainemment du modèle).
- ✔️ Créez des groupes de 3 personnes maximum puis répartissez vous les tâches (Front, Back, Model).
- ✔️ Désignez un tech lead qui aura à sa charge le répertoir du projet Github. → Le Tech Lead doit faire un fork du projet Github suivant → Ajouter les membres de son équipe au projet github. → Copiez le tablaeu suivant.
- ✔️ Téléchargez le logiciel Github Desktop puis clonnez en local votre projet.
- ✔️ Créez un fichier Readme sur chacune des branches dont vous avez la charge puis faites un commit et un push afin de vérifier la bonne configuration du projet.
- ✔️ Développez le Front : Le front de l’API sera développez avec le Framework Streamlit. → Présence d’un formulaire permettant à l’utilisateur de renseigner ses informations personnelles. → Le programme fait une requête POST à l’API. → Le programme affiche la réponse de l’accord de crédit.
- ✔️ Concevez le modèle : Le modèle de classification sera développez avec la bibliothèque de votre choix (Sklearn, Tensorflow, PyTorch). → Le modèle doit avoir une accuracy d’au moins 90%. → Les données passez au modèle doivent être standardisées. → Le modèle doit être sauvegardée au format pickle.
- ✔️ Développez l’API : L’API du sera développée avec le framework FastAPI. → Un point de terminaison predict doit être créé avec une méthode POST. → Le point de terminaison predict gère les structure de données avec la bibliothèque pydantic. → La réponse doit être sous forme d’une chaîne de caractère ou sous forme d’un json.
- ✔️ Testez le modèle : → Testez la fonction qui importe les données. → Testez la fonction qui standardise les données. → Testez la fonction qui entraîne le modèle.
- ✔️ Testez l’API : → Testez la réponse de l’API → Testez la sortie de l’api → Testez le type de données passées en entrée.
- ✔️ Déployez vos tests unitaires et déployez votre API sur Heroku à l'aide de Github actions.
- ❌ Déployez une application MLFlow puis déployez la sur Heroku à l'aide de Docker.
- Antoine Ancelin
- Charley Lebarbier @charley∆L
- David Scanu - @davidsca_ - davidscanu14@gmail.com
Project Link: https://github.com/DavidScanu/My-Credit