Système d’aide au dépistage précoce du risque cardiovasculaire par IA
Contexte & Objectif
Dans ce projet, ma mission consiste à :
- Développer un modèle de machine learning qui prend en entrée des données cliniques (âge, cholestérol, tension…) puis retourne :– un score de risque– une prédiction (0/1)
- Déployer le modèle afin de permettre son intégration dans les logiciels médicaux (projet en cours de réalisation 🙂 ).
Outils & Méthodes
Data Science & Machine Learning : Python (matplotlib, seaborn, numpy, pandas, scikit-learn, shap, xgboost, catboost…)
Traçabilité des expérimentations : MLflow
Versioning & Engineering : Github, Git, Visual Studio Code, Terminale, UV (=package manager).
Etape 0 – Configuration de l’environnement de travail
Etape 1 – Structuration et nettoyage des données + Feature Engineering (création d’une nouvelle variable clé)
Etape 2 – Réalisation d’une analyse exploratoire (EDA).
Identification des tendances, distributions, corrélations et variables discriminantes.
Etape 3 – Mise en place de la méthodologie de modélisation : problème de classification binaire, création de pipelines scikit-learn reproductibles avec deux préprocesseurs distincts (standardisation, encodage, gestion du déséquilibre des classes), split train/test stratifié, validation croisée (en 5 folds), comparaison de plusieurs types de modèles (baseline, modèles linéaires, modèles non linéaires à base d’arbres)
Etape 4 – Traçabilité et comparaison des expérimentations via MLflow
Etape 5 – Modélisation du modèle retenu (Random Forest balanced) : optimisation des paramètres via GridSearch, optimisation du seuil de décision via la courbe Précision-Rappel, sauvegarde du modèle retenu, exemple d’usage du modèle (fonction de scoring).
Etape 6 – Résultats : performance du modèle (métriques d’évaluation + matrice de confusion) , Interprétation globale (SHAP) puis interprétation locale (Waterfall plots enrichis par 4 cas contrastés)
Etape 7 – Déploiement & mise en production : *en cours* pour intégration du modèle au sein des services médicaux.
Résultats & Livrables
Résultats obtenus
- Développement d’un modèle de classification supervisée permettant d’identifier les patients à risque de maladie cardiaque à partir de données cliniques tabulaires.
- Sélection du meilleur modèle via comparaison de plusieurs algorithmes (baseline, régression logistique, SVC, XGBoost, Random Forest).
- Modèle final retenu : Random Forest avec équilibrage des classes, optimisé par validation croisée.
- Amélioration des performances via :
- optimisation des hyperparamètres (GridSearchCV),
- ajustement du seuil de décision,
- priorisation du rappel et du F2-score dans une logique métier orientée dépistage.
Performance métier
- Détection renforcée des patients réellement à risque (réduction des faux négatifs).
- Outil d’aide à la décision médicale permettant un triage précoce des patients.
- Possibilité d’intégration future dans un système clinique ou dossier patient informatisé.
Interprétabilité & Confiance
- Analyse globale des variables explicatives via SHAP Beeswarm Plot.
- Analyse locale de cas patients via SHAP Waterfall.
- Identification des facteurs les plus influents :
- type de douleur thoracique,
- pente du segment ST,
- oldpeak,
- fréquence cardiaque maximale,
- âge.
Livrables réalisés
- Notebook EDA complet
- Notebook de modélisation reproductible
- Comparaison multi-modèles avec MLflow
- Optimisation du modèle final
- Matrice de confusion + ROC Curve + PR Curve
- Interprétabilité SHAP globale et locale
- Export du modèle prêt au déploiement
- Documentation technique du projet
Vision production (à effectuer)
- API pour prédictions temps réel
- Dashboard Streamlit / interface médecin
- Monitoring des performances du modèle
- Retraining périodique
Quelques exemples de visualisations extraites de l’analyse et de la modélisation :










