ML et prédiction pour les enseignes retailPipeline FastAPI documenté
Datamart Display (Displ / No_Displ), sélection ROC-AUC, bundle ML unique et API documentée. Passez une ligne ou un portefeuille CSV sans quitter l’interface.
GIF enregistrés dans le dépôt (dossier assets/, servis sous /demo). L’ordre et les fichiers peuvent être pilotés par l’API GET /demo/carousel-manifest.
Les choix d’évaluation et de prétraitement reflètent le livrable académique et le fichier params.yaml — mêmes séparations train/test, métrique de sélection et imputation kNN que dans les notebooks.
Le pipeline notebook → script → API garantit que les transformations (outliers, modes, dummies, retrait Montant_hypotheque) sont identiques entre expérimentation et inférence.
Donnée sourceData — jeu de données de référence (usage académique) — chaîne EDA → features → scoring rejouable dans le dépôt.
Sélection par validation croisée puis hold-out
Pour le k-NN classifieur, une grille de voisins est explorée en CV ; pour tous les candidats, la décision finale suit la ROC-AUC sur la partition de test (rapport / Scrypt).
Régression logistiquek-NNArbre de décisionForêt aléatoire
Hyperparamètres (ex. n_estimators, max_iter, class_weight) définis dans params.yaml — pas de « boîte noire » côté interface.
Lexique ML
Que signifient les types de modèles ?
La plateforme compare plusieurs algorithmes classiques de classification binaire (solvable / défaut). Voici, en termes simples, ce que chacun fait — sans équations.
Régression logistique
Modèle qui combine linéairement les variables (après mise à l’échelle) pour estimer une probabilité entre 0 et 1. Très utilisé en scoring crédit : rapide, stable, facile à expliquer. Ici, les classes déséquilibrées peuvent être prises en compte via une pondération (class_weight) dans params.yaml.
k plus proches voisins (k-NN)
Pour un nouveau dossier, le modèle regarde les k profils les plus ressemblants dans les données d’apprentissage et vote avec leur étiquette (défaut ou non). Pas d’hypothèse de relation linéaire. Le nombre k est choisi par validation croisée sur une grille ; les variables doivent être comparables (d’où le prétraitement et l’échelle).
Arbre de décision
Enchaînement de règles du type « si la variable X est au-dessus d’un seuil, aller à gauche, sinon à droite » jusqu’à une feuille qui donne la classe. Très lisible pour un contrôle métier. Risque de sur-apprentissage si l’arbre est trop profond — limité par des paramètres comme min_samples_split.
Forêt aléatoire
Construit de nombreux arbres sur des sous-échantillons et des sous-ensembles de variables, puis agrège leurs votes (ou probabilités). Souvent très performant et robuste au bruit ; moins trivial à expliquer qu’un seul arbre, mais reste une référence en pratique pour le tabulaire.
SVM (machine à vecteurs de support) : optionnel dans params.yaml (souvent désactivé). Il cherche une frontière qui sépare au mieux les classes dans un espace de features ; peut être plus coûteux sur de très gros volumes.
Le pipeline retient automatiquement le meilleur candidat selon la métrique principale (ROC-AUC par défaut), puis l’accuracy en secours — voir params.yaml et la page Indicateurs pour le modèle effectivement chargé.
Architecture de performance
Un socle ML et API pensé pour la reproductibilité et l’industrialisation progressive.
Performance ML
Comparaison de modèles (régression logistique, k-NN, arbres, forêt), sélection ROC-AUC et bundle sérialisé unique pour notebook et API.
Propulsé par FastAPI
Latence maîtrisée, schémas pydantic, JWT sur /predict et /train, documentation interactive Swagger et schéma API JSON.
MLOps & traçabilité
Artefacts versionnés, métriques /metrics après entraînement, contrat machine GET /ml/preprocess-contract pour vos intégrations.
Une stack résiliente pour la finance
Technologies du dépôt — du notebook à l’UI et au conteneur.
Python
FastAPI
Scikit-learn
Next.js
Docker
Cloud-ready
Python
FastAPI
Scikit-learn
Next.js
Docker
Cloud-ready
Architecture du pipeline
Aperçu des étapes reproduites côté serveur, comme dans les notebooks et le script de référence.
Le préprocesseur fitted (modes, outliers, KNNImputer, dummies) et le classifieur retenu sont sérialisés ensemble : même comportement en notebook, API unitaire et API batch.
✓ Cible binaire alignée Incident_r
✓ Métrique principale ROC-AUC (params.yaml)
✓ Réponse : classe + P(défaut)
Données brutes
Données brutes
Jeu de données « data », aligné sur le pipeline (colonnes mappées comme pour l’API et le prétraitement).
Identifiant du jeu de données
data
Le serveur peut résoudre automatiquement plusieurs emplacements internes pour charger ce jeu.
Connectez-vous (Clerk), puis ouvrez Data → onglet Données brutes pour parcourir un extrait du jeu.
Mode sur Motif_pret & Profession, puis one-hot drop-first.
Quantitatives & export
Outliers → NaN, imputation kNN, puis inférence. Lot : tableau + téléchargement CSV des scores.
Parcours en trois temps
1
Ingestion
Variables Data et âge du crédit saisi en mois.
2
Prétraitement
Modes, outliers, imputation kNN et encodage alignés notebooks.
3
Décision
Score unitaire ou lot CSV, avec traçabilité du modèle.
Aide
Questions fréquentes
Réponses courtes pour démarrer. Le détail technique reste dans la doc API et les notebooks.
Le jeu Data historique exprime l’âge du crédit en mois : l’API conserve la même unité à la saisie. Le préprocesseur convertit en années avant imputation et scoring.
La limite est définie côté serveur (PREDICT_BATCH_MAX_ROWS) et exposée via GET /ml/preprocess-contract. La page Prédictions affiche la valeur effective au chargement.
Toutes les colonnes d’entrée, plus la classe prédite, le verdict (solvable / non solvable), la probabilité de défaut et le nom du modèle.
La plateforme illustre un pipeline académique reproductible. Un usage réglementé demande validation métier, monitoring et gouvernance des données.
Oui : la connexion Clerk ouvre Prédictions, Insights et le journal. L’API de scoring utilise ensuite un jeton JWT (login silencieux via le BFF) pour /predict.
Échange
Contact & réalisateur
Pour échanger sur le produit, la data ou les intégrations bancaires — liens ci-dessous ou formulaire pour préparer un e-mail à l’auteur.