✨ Chaque jour, une étape pour mener à bien un projet en data science, testée et approuvée par l’équipe d’EURODECISION. Le week-end, détente : découvrez des témoignages de nos clients !
Jour 1 : Introduction
- Parcourez le schéma des étapes clés du cycle de vie d’un projet en data science ;
- Redécouvrez le témoignage de la direction de l’Innovation de la RATP qui avait suivi une journée d’acculturation et d’échanges « Introduction à l’Intelligence Artificielle » animée par EURODECISION.
Jour 2 : Comprendre son problème métier
Avant même de choisir un modèle ou de traiter des données, la clé du succès en data science réside dans une compréhension approfondie du problème métier. Pourquoi ? Parce que chaque modèle de machine learning doit répondre à un besoin métier spécifique, que ce soit pour faire des prévisions de ventes, détecter des anomalies, segmenter des clients ou prévoir une température. Si l’on saute cette étape, on risque de créer un modèle sophistiqué mais inutile.
Quelques questions essentielles à se poser :
- Quel est l’objectif principal du projet ? Comment le modèle sera-t-il utilisé ? (Prévision, classification, etc.)
- Quelle est la métrique de succès ? (Précision, XX, etc.)
- Quelles sont les contraintes ou les spécificités de l’industrie ? (Réglementations, cycles économiques, comportement des utilisateurs)
- Quelle est la valeur business attendue ? (Gain de temps, rentabilité, amélioration de l’expérience client)
- A quelle fréquence sera-t-il raisonnable d’actualiser le modèle ?
Un modèle n’est jamais isolé : il est au service du métier et des objectifs de l’organisation. Commencez donc toujours par comprendre le pourquoi avant de plonger dans le comment. Cette approche garantit que chaque décision prise, de la sélection des données au choix du modèle, est guidée par une logique métier claire et orientée vers la création de valeur.
Jour 3 : L’importance de bien sélectionner les données
La qualité des modèles de data science repose sur un élément fondamental : les données. Peu importe la puissance des algorithmes que vous utilisez, si vos données sont incomplètes, incorrectes ou mal sélectionnées, les résultats de vos modèles seront tout aussi erronés.
Quelques principes à garder en tête :
- Pertinence avant tout : Toutes les données ne sont pas utiles. Choisissez celles qui sont pertinentes pour le problème à résoudre. Apprendre à bien connaitre les variables pour comprendre leur impact potentiel.
- Qualité avant quantité : Mieux vaut moins de données de qualité que beaucoup de données bruitées. Veillez à la cohérence, à la précision et à la complétude de vos jeux de données.
- S’enrichir de l’extérieur : N’hésitez pas à enrichir vos données internes avec des sources externes (par exemple : données socio-économiques, météorologiques, ou de concurrence) si cela apporte de la valeur au modèle.
- Un historique solide, un avenir fiable : Avoir un historique de données représentatif est crucial pour la fiabilité des modèles, surtout pour ceux qui dépendent de la temporalité (séries chronologiques, tendances saisonnières).
En bref, une sélection rigoureuse des données vous place déjà sur le chemin du succès. Un modèle ne peut être meilleur que les données qui le nourrissent !
Jour 4 : Préparation des données : nettoyage et transformation
Saviez-vous que la préparation des données représente souvent 80 % du travail d’un data scientist ? Ce processus fastidieux mais crucial pose les fondations de modèles fiables et performants. Sans des données bien nettoyées et structurées, même les meilleurs algorithmes ne peuvent pas produire de résultats pertinents.
Quelques tâches clés dans cette étape :
- Gérer les valeurs manquantes : Remplacer les données manquantes par des moyennes, des médianes ou d’autres approches, ou décider de les supprimer si cela ne biaise pas l’analyse.
- Identifier et traiter les valeurs aberrantes : Les outliers (valeurs aberrantes) peuvent fortement impacter les modèles. Décider de les conserver, les corriger, ou les supprimer est une décision à ne pas prendre à la légère.
- Normalisation et standardisation : Transformer les variables pour qu’elles soient comparables (par exemple, en les ramenant à la même échelle ou distribution).
- Encodage des variables catégorielles : Pour les variables non numériques (comme les catégories), il faut les encoder en nombres pour les utiliser dans les modèles.
- Création de nouvelles variables : Parfois, il est nécessaire de créer de nouvelles variables à partir de celles existantes pour mieux capturer les dynamiques des données (ex : extraire l’année ou le jour de la semaine d’une date).
En résumé : une donnée bien préparée, c’est un modèle déjà à moitié performant. Prenez le temps d’assurer des bases solides : vos algorithmes vous en remercieront.
Jour 5 : Visualisation des données
Avant de lancer un modèle, il est essentiel de visualiser les données. Pourquoi ? Parce que les visualisations permettent de comprendre rapidement les relations entre les variables, d’identifier des tendances, des patterns cachés ou des anomalies, et de mieux orienter la phase de modélisation.
Les outils et approches clés pour la visualisation :
- Graphiques exploratoires : Histogrammes, nuages de points (scatter plots), courbes de tendances. Ces outils permettent d’identifier des corrélations, des répartitions et des éventuelles anomalies.
- Visualisation des séries temporelles : Pour les données historiques, visualiser les données sur une période permet de repérer les cycles, tendances et points de basculement.
- Matrice de corrélation : Afficher les corrélations entre les variables peut révéler des relations inattendues ou redondantes, aidant à prioriser les variables à inclure dans les modèles.
- Segmentation visuelle : Utiliser des graphiques en clusters pour observer comment les différentes catégories se regroupent ou se distinguent dans vos données.
Pourquoi c’est essentiel ?
La visualisation ne vous aide pas seulement à mieux comprendre vos données, mais elle sert aussi à mieux communiquer vos résultats à des non-experts. Un bon graphique vaut souvent mieux qu’une longue explication.
Jour 6 : Division des données – Entraînement, validation, test
Une étape essentielle avant de commencer l’entraînement d’un modèle est de diviser vos données en plusieurs sous-ensembles. Cette pratique garantit que le modèle que vous construisez sera capable de généraliser ses prévisions sur de nouvelles données, et non seulement sur les données d’entraînement.
Les trois ensembles de données principaux :
- Ensemble d’entraînement (Training set) : représentant environ 60 à 70 % des données, cet ensemble sert à entraîner le modèle. C’est ici que le modèle « apprend » à repérer les patterns dans les données.
- Ensemble de validation (Validation set) : ces données, environ 15 à 20 %, servent à évaluer le modèle pendant son entraînement. Vous les utilisez pour ajuster les hyperparamètres et améliorer le modèle avant sa mise en production.
- Ensemble de test (Test set) : enfin, les données de test (les 15 à 20 % restants) permettent d’évaluer la performance finale du modèle sur des données qu’il n’a jamais vues. Cela donne une idée réaliste de la manière dont il se comportera sur de nouvelles données.
Pourquoi est-ce important ?
- Éviter le surapprentissage : un modèle performant n’est pas celui qui connaît ses données sur le bout des doigts, mais celui qui est capable de faire des prédictions fiables sur des données inédites.
- Évaluer objectivement : diviser les données permet de tester chaque phase du modèle dans des conditions réalistes.
- Optimisation itérative : en ajustant les hyperparamètres grâce à l’ensemble de validation, vous améliorez progressivement vos résultats tout en conservant une mesure finale impartiale grâce à l’ensemble de test.
Techniques avancées pour améliorer la robustesse :
- Bootstrap et échantillonnage aléatoire : plutôt que de se contenter d’un seul découpage, générer plusieurs sous-échantillons avec remise, entraînant ainsi le même type de modèles sur différentes partitions.
Figure 1 – Exemple de sélection Bootstrap
- Assurer la cohérence et l’homogénéité des données dans les ensembles d’apprentissage
Lors de la constitution des ensembles d’entraînement, de validation et de test, il est parfois utile de préserver une structure cohérente ou homogène. Par exemple :
- Données temporelles : il est souvent nécessaire de maintenir des séquences consécutives pour respecter la continuité dans le temps.
- Données structurées par des plans d’expériences : il est important de garantir que la structure reste cohérente dans l’ensemble d’entraînement.
- Représentation statistique : parfois certaines catégories doivent être correctement représentées dans chaque ensemble pour éviter des biais.
Un modèle performant, c’est un modèle testé et validé !
Jour 7 : Témoignage du Groupe LA POSTE
Redécouvrez le témoignage de la Branche Service Courrier Colis du Groupe LA POSTE sur les “Prévisions des trafics courrier et colis à court, moyen et long terme”.
Jour 8 : Témoignage de F2D MEDICAL
Redécouvrez le témoignage de la start-up F2D Medical sur les “Modèles de prévision pour un dispositif médical de mesure de température corporelle”.
Jour 9 : Optimiser les performances d’un modèle grâce au feature engineering
Lors de la définition d’un problème de modélisation de données, le data scientist identifie et liste l’ensemble des variables explicatives qui serviront d’entrées au modèle pour estimer la réponse cible. Si appliquer directement le modèle sur ces variables brutes peut donner des résultats, un travail de feature engineering permet souvent d’améliorer considérablement sa qualité et sa performance.
- Qu’est-ce que le feature engineering ?
Le feature engineering, ou ingénierie des caractéristiques, est le processus qui consiste à transformer ou enrichir les données brutes pour mieux représenter les informations pertinentes et maximiser leur utilité pour le modèle.
- Pourquoi est-ce important ?
Les algorithmes de machine learning sont conçus pour détecter des motifs ou relations dans les données. Cependant, si ces données ne mettent pas clairement en avant les informations importantes, le modèle peut avoir des difficultés à identifier les bons patterns, entraînant des résultats sous-optimaux. Grâce au feature engineering, les variables d’entrée sont structurées de manière à faciliter la tâche du modèle, ce qui se traduit souvent par de meilleures prévisions.
- Comment améliorer les modèles grâce au feature engineering ?
Le feature engineering peut être décomposé en plusieurs étapes clés :
- Nettoyer les données :
- Traiter les valeurs manquantes (en les remplaçant ou en imputant des valeurs pertinentes).
- Corriger les incohérences comme les valeurs extrêmes, les erreurs ou les doublons.
- Créer ou enrichir les variables : Générer de nouvelles variables à partir des données existantes ou ajouter des informations provenant de sources externes.
- Normaliser et standardiser :
- Nettoyer les données :
- Uniformiser les échelles des variables pour éviter que certaines dimensions dominent les calculs (par exemple, mettre toutes les variables entre 0 et 1 ou centrer/réduire).
- Ces étapes sont particulièrement importantes pour les modèles sensibles aux écarts d’échelle, comme la régression linéaire ou SVM.
- Sélectionner les bonnes variables :
- Éliminer les variables non pertinentes ou fortement corrélées entre elles pour réduire le bruit dans les données.
Jour 10 : Comparaison des modèles
Une fois les données prêtes, la question suivante se pose : quel modèle choisir ? Parmi la multitude d’algorithmes disponibles, il s’agit de sélectionner celui qui répond le mieux aux besoins spécifiques de votre projet. Mais comment faire ce choix ?
Voici un guide en cinq étapes pour vous aider à naviguer dans cette décision :
- Définissez le type de problème :
- Régression : prédire une valeur continue (exemple : chiffre d’affaires, température).
- Classification : classer dans des catégories (exemple : spam ou non spam, rouge / vert / bleu, …).
- Clustering : identifier des classes de données similaires (exemple : segmentation client, groupe de produits avec des caractéristiques semblables).
- Séries temporelles : prédire des valeurs ordonnées dans le temps (exemple : ventes sur les 6 prochains mois, production énergétique au cours de l’année).
- Réduction de dimension : transformer un ensemble de données de grande dimension en un espace de plus petite dimension tout en préservant autant que possible les informations essentielles ou la structure des données (exemple : transformer des données contenant un grand nombre de variables en 2 ou 3 dimensions pour faciliter leur représentation graphique, réduire la dimensionnalité des données pour accélérer les algorithmes d’apprentissage).
- Tenez compte de la complexité des données : Pour des relations simples, des modèles comme la régression logistique ou linéaire suffisent souvent. Pour des données complexes ou non linéaires, tournez-vous vers des algorithmes plus avancés comme les forêts aléatoires (Random Forest) ou les réseaux neuronaux.
- Pensez aux ressources disponibles :
- Temps de calcul : les modèles comme les réseaux neuronaux peuvent être gourmands en ressources. Assurez-vous d’avoir l’infrastructure nécessaire.
- Interprétabilité : si vos parties prenantes ont besoin de comprendre les résultats, privilégiez des modèles explicables comme les régressions linéaires ou les arbres de décision.
- Essayez plusieurs modèles : ne vous limitez pas à un seul algorithme. Testez-en plusieurs (grâce à des outils comme scikit-learn ou TensorFlow) et comparez leurs performances en fonction de vos métriques clés.
- Ne sous-estimez pas les modèles simples : Parfois, une régression linéaire bien préparée peut surpasser un modèle complexe mal optimisé. Simplicité ne veut pas dire inefficacité !
- Le modèle parfait ? Il n’existe pas de modèle parfait universel, mais un modèle parfaitement adapté à vos besoins. Choisir le bon algorithme est un équilibre entre la complexité, la précision et les contraintes de votre projet.
Et vous, comment choisissez-vous vos modèles ?
Jour 11 : Entraînement des modèles – Réglages et hyperparamètres
Les ensembles de données d’entraînement, de validation et de test ont été soigneusement préparés comme expliqué au jour 6. Nous passons désormais à l’étape suivante : l’entraînement des modèles. Cette phase consiste à optimiser les paramètres internes des modèles pour les ajuster aux données. Par exemple, dans une régression linéaire, cela signifie ajuster les poids des variables explicatives, tandis que dans un arbre de décision, il s’agit d’établir les seuils de division.
Multiples modèles et exploration des hyperparamètres
Il est possible d’entraîner plusieurs modèles simultanément, que ce soit en testant différents algorithmes ou en faisant varier les hyperparamètres d’une même méthode. Les hyperparamètres, contrairement aux paramètres internes, ne sont pas appris automatiquement par le modèle. Ils doivent être définis en amont et influencent directement les performances.
Prenons quelques exemples :
- Pour un modèle linéaire, choisir la méthode de régularisation (L1, L2, ou Elastic Net) peut limiter la complexité du modèle et prévenir le surapprentissage.
- Dans les arbres de décision ou les forêts aléatoires, on peut contrôler la profondeur maximale de l’arbre ou fixer un nombre minimal d’échantillons par feuille pour éviter une segmentation excessive des données.
Astuce : Si vous débutez, les valeurs par défaut proposées par les bibliothèques sont un bon point de départ. Cependant, pour maximiser les performances, il est souvent utile de rechercher des hyperparamètres plus adaptés. Cela peut se faire par plusieurs approches :
- Grid Search : exploration exhaustive d’une grille de combinaisons prédéfinies.
- Random Search : échantillonnage aléatoire plus rapide pour de grands espaces de recherche.
- Optimisation algorithmique : méthodes avancées comme les algorithmes génétiques ou l’optimisation bayésienne pour plus d’efficacité.
Évaluation sur les données de validation
Une fois les modèles ajustés sur les données d’entraînement, ils sont testés sur les données de validation pour évaluer leur capacité de généralisation. À cette étape, il est essentiel de choisir les bonnes métriques :
- Les indicateurs classiques tels que le RMSE (racine de l’erreur quadratique moyenne), le R² (coefficient de détermination) ou le MAE (erreur absolue moyenne) conviennent souvent.
- Dans certains cas, un critère personnalisé peut être nécessaire. Par exemple, si une surestimation et une sous-estimation n’ont pas les mêmes conséquences, on peut concevoir une métrique d’erreur asymétrique.
Un bon modèle doit avoir des performances similaires sur les ensembles d’apprentissage et de validation. Si les performances sont bien meilleures sur les données d’apprentissage, cela indique un surapprentissage : le modèle a mémorisé le bruit des données au lieu de généraliser les tendances. Pour y remédier, il faut réduire la complexité du modèle (par exemple, en diminuant la profondeur des arbres ou en augmentant la régularisation).
Sélection des modèles
Grâce aux valeurs des indicateurs obtenus, il devient possible de sélectionner le meilleur modèle. Dans certains cas, au lieu de choisir un seul modèle, on peut opter pour un mélange d’experts. Cette technique combine plusieurs modèles, chacun pondéré selon ses performances, pour obtenir des estimations plus robustes.
Test final sur des données inconnues
Enfin, les données de test permettent d’évaluer la performance réelle du modèle sur des échantillons qu’il n’a jamais vus. Cela fournit une estimation réaliste de ses capacités à traiter de nouvelles données dans un contexte opérationnel. Une bonne performance sur cet ensemble est le signe que le modèle est prêt à être déployé.
Jour 12 : Intégration continue (CI) – Mettre en place un pipeline CI/CD pour les modèles MLOps
Une fois votre modèle prêt, le véritable défi commence : l’intégrer efficacement dans un pipeline de développement continu. L’intégration continue (CI) repose sur l’automatisation des tests, de la validation et de la mise à jour de votre modèle tout au long de son cycle de vie. Cela garantit non seulement la robustesse du modèle, mais permet également de l’adapter facilement à de nouvelles données et de répondre aux besoins changeants du marché.
- Les avantages d’un pipeline CI/CD (intégration continue / livraison ou déploiement continu) :
- Mises à jour automatisées : dès que de nouvelles données arrivent, le pipeline peut relancer l’entraînement et ajuster les modèles sans intervention humaine.
- Déploiement rapide : un pipeline CI/CD vous permet de déployer les modèles dans des environnements de production de manière fluide et rapide.
- Tests automatiques : chaque modification (nouveau modèle, nouvelle donnée) déclenche des tests pour s’assurer que tout fonctionne correctement.
- Surveillance continue : le pipeline peut inclure des mécanismes de suivi des performances du modèle en production. En cas de dérive ou de baisse de performance, une alerte est déclenchée.
- Pourquoi l’intégration continue est importante en data science ?
Les modèles de data science doivent évoluer en même temps que les données. Un pipeline CI/CD garantit une mise à jour régulière, une maintenance facile et une adaptabilité aux changements, tout en minimisant le risque d’erreurs humaines.
Figure 2 – Schéma dynamique CI/CD
- Adopter l’approche MLOps : l’automatisation au service de la Data Science
L’approche MLOps (Machine Learning Operations) vise à rapprocher les équipes de data science et d’ingénierie logicielle pour industrialiser les projets de machine learning. Elle combine les principes du DevOps (automatisation, intégration continue, livraison continue) avec les spécificités du cycle de vie des modèles.
- Pourquoi adopter MLOps ?
Dans de nombreux projets, les modèles de machine learning restent enfermés dans des environnements expérimentaux, ce qui ralentit leur déploiement et complique leur maintenance. Avec MLOps, vous bénéficiez de :- Des pipelines reproductibles : les étapes d’entraînement, d’évaluation et de déploiement sont standardisées et documentées, ce qui réduit les écarts entre les environnements (local, cloud, production).
- Une gestion simplifiée des versions : chaque modification de code, de données ou de modèle est suivie, permettant un suivi précis des évolutions et un retour en arrière rapide en cas de problème.
- Une gestion efficace des données : grâce à des outils spécifiques (comme Data Version Control), les pipelines peuvent gérer les versions des jeux de données et détecter automatiquement les changements significatifs.
- Des cycles de déploiement plus courts : avec l’automatisation, le passage de la phase de recherche à la production est accéléré, rendant vos solutions rapidement exploitables.
- Un monitoring en production : les performances des modèles sont surveillées en temps réel, et des mécanismes sont en place pour identifier les dérives (data drift, concept drift) ou alerter en cas de problème.
Concrètement, adopter MLOps, c’est automatiser toutes les étapes clés du cycle de vie des modèles, de la collecte et préparation des données jusqu’au déploiement en production. Cela inclut la mise en place de pipelines CI/CD pour entraîner, évaluer et déployer les modèles, l’utilisation d’outils comme MLflow ou Kubeflow pour orchestrer et monitorer les workflows, et une collaboration renforcée entre les équipes data science, ingénierie et produit. Cette approche garantit une gestion efficace des versions, un suivi continu des performances et une capacité à itérer rapidement en réponse aux changements.
Automatisez pour mieux itérer ! Votre pipeline CI/CD n’est pas seulement un outil technique, c’est un levier stratégique pour des modèles performants et toujours à jour.
Jour 13 : Déploiement du modèle
Une fois le modèle construit et validé, l’étape suivante est le déploiement en production. Il ne suffit pas d’avoir un modèle performant sur un environnement de test ; il doit également fonctionner de manière fluide dans un environnement de production. Le déploiement d’un modèle de data science implique plusieurs défis techniques à relever pour s’assurer qu’il soit robuste, scalable, et facile à maintenir.
Les étapes clés pour un déploiement sans friction :
- Choisir le bon environnement : l’infrastructure doit être adaptée à la volumétrie des données, à la fréquence des mises à jour et aux contraintes de ressources. Voici quelques solutions techniques :
- Le cloud (AWS, Azure, Google Cloud, etc.) offre souplesse, scalabilité et services intégrés (bases de données, outils de monitoring, etc.).
- Les serveurs on-premise (serveurs locaux) répondent aux besoins en matière de sécurité/confidentialité mais nécessitent une infrastructure interne solide.
- La containerisation avec Docker et Kubernetes standardise les déploiements en encapsulant les modèles et leurs dépendances dans des images reproductibles. Kubernetes gère l’orchestration des conteneurs, les ressources et le scaling automatique selon la charge.
- Créer une API (interface de programmation d’application) pour les prévisions : une méthode commune est de déployer le modèle sous forme de micro-service avec une API REST, permettant à d’autres applications d’accéder facilement aux résultats.
- Gérer le versioning des modèles : il est important de garder des traces des différentes versions des modèles déployés pour suivre leur évolution et comparer les performances.
- Mettre en place un monitoring en production : mettre en place un suivi des performances pour détecter des dérives ou des changements dans la qualité des prédictions. Si le modèle perd en performance, il doit être réentraîné avec des données mises à jour ou même plus profondément revu (changement d’algorithme, ajout de nouvelle variable explicative…).
- Assurer des mises à jour continues : automatiser le processus pour intégrer facilement de nouvelles données et mettre à jour le modèle sans perturber les utilisateurs, comme décrit dans notre paragraphe « Intégration continue (CI) – Mettre en place un pipeline CI/CD pour les modèles MLOps ».
Pourquoi est-ce important ?
Un modèle mal déployé, même performant, perd toute sa valeur. Le déploiement est l’étape où la théorie se transforme en impact concret. Il garantit que votre modèle apporte des résultats tangibles à l’entreprise.
Ne laissez pas vos modèles dormir dans le tiroir : faites-les briller en production !
Jour 14 : Témoignage d’AIR FRANCE
Redécouvrez le témoignage d’AIR FRANCE sur la mission d’“Accompagnement pour la conception et l’évolution du moteur de l’application de revenue management KARMA”.
Jour 15 : Témoignage de LA BOITE A PIZZA
Redécouvrez le témoignage de LA BOITE A PIZZA sur le “Data Lab au service de l’optimisation commerciale et marketing”.
Jour 16 : Surveillance des modèles
Une fois le modèle déployé en production, le travail n’est pas terminé. Les modèles de data science doivent être surveillés pour garantir qu’ils continuent à produire des résultats fiables et pertinents. Les données évoluent, les conditions changent, et un modèle qui performait bien hier peut rapidement devenir obsolète s’il n’est pas surveillé.
Voici quelques éléments à prendre en compte pour la surveillance des modèles :
- Suivi des métriques de performance
Les indicateurs de performance doivent être surveillés régulièrement pour s’assurer que le modèle continue à répondre aux attentes. Par exemple :
- La précision des prédictions du modèle : de nombreux indicateurs existent comme le classique MAE (Erreur absolue moyenne) ou le RMSE (la moyenne des erreurs carrées passée en racine carré) qui a le mérite de pénaliser les grandes erreurs de manière plus importante. Les indicateurs peuvent aussi être calculés en pourcentage ou pondérés par des caractéristiques métiers (ex. : CA correspondant aux ventes du produit à prévoir) pour attirer la vigilance sur des aspects différents.
- Le biais : à surveiller via la mesure de l’erreur de prévision moyenne glissante (sans valeur absolue).
- La capacité du modèle à expliquer les variations dans les données (est-ce que le modèle croît ou décroit quand les données le font ?) : le R2 (coefficient de détermination) mesure la proportion de la variance des données qui est expliquée par le modèle.
Chaque indicateur peut être suivi graphiquement au cours du temps. Au-delà d’un seuil, une alerte peut être levée (le seuil peut être égal à 1,96 * écart-type pour un intervalle de confiance à 95% dans le cas gaussien).
Voici un exemple où le suivi du cumul des erreurs montre l’apparition d’un biais :
- Alerte automatique
Si une baisse de performance est détectée, le système doit être capable d’envoyer une alerte pour réagir rapidement (réentraînement, ajustement des hyperparamètres, etc.).
- Comparaison avec des modèles plus basiques
Surveiller la performance du modèle en production par rapport à celle d’un modèle de référence très simple, une baseline, peut aider à identifier des problèmes potentiels.
Pourquoi est-ce important ?
La surveillance des modèles assure qu’ils continuent à fournir des résultats de qualité dans un environnement changeant. Sans un suivi régulier, même les meilleurs modèles peuvent devenir inefficaces ou contre-productifs. Dans le cas où les performances du modèle se dégrade, il faut identifier la source du problème. Y-a-t-il des données inhabituelles ? Est-ce que cela correspond à un évènement exceptionnel ? Auquel cas le modèle n’a pas à être modifié. Dans le cas contraire, il faut adapter le modèle à ces nouvelles données, soit par simple réentrainement du modèle, soit par ajustement des hyperparamètres, soit carrément par un changement d’algorithme.
Gardez vos modèles sous surveillance pour garantir leur fiabilité sur le long terme !
Jour 17 : Monitoring des données – Identifier les dérives et agir
Le monitoring des données est aussi important que la surveillance du modèle lui-même. En effet, des changements subtils dans les données utilisées par les modèles peuvent fortement impacter la performance du modèle. C’est pourquoi il est utile de mettre en place un système de suivi régulier des données en production.
Les aspects clés du monitoring des données :
- Dérive des distributions : Surveillez la distribution des données d’entrée en production pour repérer les changements ou des valeurs exceptionnelles. Si les nouvelles données diffèrent trop de celles utilisées pour entraîner le modèle, il peut être nécessaire de réentraîner le modèle.
- Qualité des données : Vérifiez que les données en production sont complètes, cohérentes et sans erreurs. Les données manquantes ou incorrectes peuvent conduire à de mauvais résultats.
- Corrélation et dépendance : Assurez-vous que les relations entre les variables se maintiennent au fil du temps (graphiquement, par mesure de coefficient de corrélation …). Une rupture dans ces relations peut être un signe que le modèle n’est plus adapté.
- Tracking des nouvelles catégories : Si de nouvelles catégories ou valeurs apparaissent dans vos variables (par exemple, de nouveaux segments de clients), le modèle pourrait ne pas savoir les gérer correctement et son réentrainement peut être nécessaire.
Pourquoi est-ce important ?
Même le meilleur modèle ne pourra pas fournir des résultats de qualité si les données d’entrée sont incorrectes ou si elles évoluent de manière imprévue. Le monitoring des données permet de détecter ces changements à temps et d’agir pour corriger les erreurs avant qu’elles n’impactent les résultats du modèle.
Surveillez les données pour éviter les mauvaises surprises en production !
Jour 18 : Explicabilité des modèles
Pourquoi parler d’explicabilité ?
Le principal défaut des modèles de machine learning réside dans leur caractère de boîte noire. Si les performances des modèles peuvent être mesurées via des métriques, leur fonctionnement interne reste opaque : nous ignorons comment les données d’entrée influencent les résultats. Ce besoin de compréhension a donné naissance au champ de recherche de l’explicabilité.
Niveaux d’interprétabilité des algorithmes de Machine Learning (Source)
Explicabilité : quels enjeux ?
- Transparence et confiance : l’explicabilité d’un modèle permet de comprendre comment il arrive à un résultat et ainsi de renforcer la confiance des utilisateurs.
- Détection des biais : les données utilisées pour entraîner les modèles peuvent contenir des biais qui se répercutent sur les résultats. L’explicabilité permet d’identifier et de corriger ces biais.
- Amélioration des modèles : en comprenant mieux comment un modèle fonctionne, il est possible de l’améliorer et de le rendre plus performant.
- Conformité légales et éthiques : dans certains secteurs (médical, finance, RH, assurance), il est capital de pouvoir justifier les décisions prises par les IA.
Comment rendre un modèle explicable ?
Il existe deux principales approches :
- Approches intrinsèques : Certains algorithmes, comme les arbres de décision ou les régressions linéaires, sont simples et interprétables. Ils permettent de visualiser les facteurs influençant les résultats grâce à des graphiques d’arborescence ou les coefficients des équations. Cependant ces modèles sont souvent moins performants sur des problèmes complexes.
- Approches post hoc : Pour des modèles plus sophistiqués, il est nécessaire d’appliquer des méthodes d’explication. Les techniques les plus courantes sont :
- LIME (Local Interpretable Model-agnostic Explanations) : Cet algorithme analyse des perturbations locales autour d’une donnée et ajuste un modèle simple pour interpréter la contribution des différentes composantes d’entrée.
- SHAP (SHapley Additive exPlanations) : L’algorithme attribue à chaque composante d’entrée une valeur représentant son importance dans la prédiction. Il se base sur des combinaisons d’algorithmes (comme LIME) pour expliquer les prédictions localement et globalement.
Exemple d’illustration graphique des valeurs de Shap qui donnent l’importance de chaque composante dans les résultats du modèle sur le jeu de données Titanic à l’aide de la librairie explainerdashboard (Source)
- Cas particulier des réseaux de neurones : Les réseaux de neurones bénéficient également d’outils spécialisés permettant d’évaluer l’impact de chaque composante d’entrée ou de chaque neurone sur le résultat final. Par exemple pour les modèles d’analyse d’image, des visualisations peuvent montrer les zones d’une image qui activent le réseau, offrant ainsi une compréhension intuitive de son fonctionnement.
Exemple de visualisation des zones influant le réseau de neurones à l’aide de la librairie python captum (Source)
Limites de l’explicabilité
Les algorithmes d’explicabilité, bien qu’utiles, offrent seulement une approximation du fonctionnement réel des modèles. Leurs résultats peuvent être influencés par les hypothèses et méthodes utilisées, conduisant à des explications partielles ou biaisées. Il faut également éviter la surinterprétation ou la simplification excessive de ces analyses. Ces outils doivent être utilisés avec discernement et en complément d’autres approches, sans confiance aveugle dans leurs conclusions.
En résumé
L’explicabilité est un pilier important pour l’acceptation des modèles de Machine Learning car elle permet de mieux comprendre les décisions des modèles, de détecter d’éventuels biais, et de renforcer la confiance des utilisateurs. Elle est essentielle pour garantir une utilisation responsable et éthique de l’intelligence artificielle, notamment dans des domaines critiques. Cependant, les outils d’explicabilité doivent être employés avec prudence, car ils ne fournissent qu’une vision partielle du fonctionnement des modèles. Leur développement et leur perfectionnement restent des priorités pour construire une IA transparente, fiable et véritablement compréhensible.
Jour 19 : Retour sur la préparation des données – Zoom sur la gestion des données manquantes
En jetant un coup d’œil rapide à vos données, vous constatez qu’il y a des valeurs manquantes partout et que seules quelques lignes sont entièrement complètes… Pas de panique ! Une analyse pas à pas vous aidera à surmonter cette difficulté.
Quantifier les valeurs manquantes
Identifier un schéma dans l’apparition des valeurs manquantes
Une fois qu’on a compris la structure des valeurs manquantes, on peut aussi ne rien faire (ni supprimer, ni remplacer) et analyser les données en l’état, au moins dans un premier temps. Ce n’est pas toujours gênant d’avoir des valeurs manquantes mais il faut en être conscient dans les analyses.
Jour 20 : Retour sur la construction de modèle – Zoom sur la création de nouvelles variables
Zoom sur la création de nouvelles variables
L’une des étapes les plus importantes du feature engineering consiste à enrichir les données en créant des caractéristiques pertinentes. Voici quelques approches courantes.
Comment évaluer la pertinence des nouvelles variables ?
Pour savoir si le feature engineering a été efficace, comparez les performances du modèle avant et après ces transformations. Utilisez des métriques appropriées comme la précision, l’erreur quadratique moyenne (RMSE), ou le coefficient R2. Une amélioration des scores indique que les nouvelles variables apportent une réelle valeur ajoutée.
En résumé, le feature engineering est un levier essentiel pour optimiser vos modèles. En transformant des données brutes en caractéristiques pertinentes, vous simplifiez leur travail d’apprentissage et contribuez à une amélioration significative de leurs performances.
Jour 21 : Témoignage de RENAULT
Redécouvrez le témoignage de RENAULT sur l’“Optimisation en conception de produits”.
Jour 22 : Témoignage de FLOWER CAMPINGS
Redécouvrez le témoignage de FLOWER CAMPINGS sur l’”Accompagnement à la mise en œuvre d’une stratégie de revenue management”.