Blog ENI : Toute la veille numérique !
💥 Un livre PAPIER acheté
= La version EN LIGNE offerte pendant 1 an !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Machine Learning
  3. Évaluation et déploiement
Extrait - Machine Learning Implémentation en Python avec Scikit-learn (2e édition)
Extraits du livre
Machine Learning Implémentation en Python avec Scikit-learn (2e édition)
1 avis
Revenir à la page d'achat du livre

Évaluation et déploiement

Phase d’évaluation

1. Principe global

Si le Data Scientist doit évaluer les résultats de ses modèles lui-même en phase de modélisation, une évaluation métier doit ensuite être faite pour valider les modèles.

In fine, c’est le client, qui connaît le métier, qui va pouvoir décider si la qualité du modèle répond à ses besoins.

En effet, un très bon modèle avec 99 % d’accuracy est potentiellement excellent sur de la recherche de défauts, mais clairement insuffisant pour la détection de piétons dans une voiture autonome (qui écraserait potentiellement 1 % des personnes croisées).

Cette phase d’évaluation a donc pour but d’évaluer si le modèle est suffisant pour le cas d’application et si tout le processus est correct. La suite du projet sera alors prévue selon l’acceptation ou non du modèle.

2. Évaluation métier des résultats

Le modèle proposé et ses résultats doivent être comparés aux besoins métiers exprimés en phase de Business Understanding ainsi qu’aux critères de succès déterminés.

Les résultats purs ne sont cependant pas suffisants. Il faut aussi vérifier que le modèle réponde dans toutes...

Phase de déploiement

La phase de déploiement est la dernière de la méthodologie CRISP-DM. De plus, contrairement aux autres phases, elle n’a lieu que lorsque le projet est considéré prêt à être mis en production.

Il ne s’agit pourtant pas d’une phase technique. En réalité, la phase de déploiement sert à prévoir le projet qui suivra en fournissant des spécifications. Elle contient quatre étapes :

  • La planification du déploiement.

  • La planification du monitoring et de la maintenance.

  • La création du rapport final.

  • La finalisation de la documentation.

1. Planification du déploiement

Le déploiement est un projet à part entière. Il faut pour cela prévoir les principales étapes et surtout quel modèle déployer.

En effet, c’est rarement le modèle obtenu en phase de modélisation qui sera mis en production. Généralement, l’algorithme et les paramètres choisis sont utilisés pour entraîner une dizaine de modèles (avec des graines aléatoires différentes) puis chacun d’eux est évalué.

Il est donc nécessaire d’avoir une documentation complète de la procédure employée pour créer ces modèles.

En plus du modèle, il est nécessaire...

Déploiement et MLOps

1. Retours sur le DevOps

Dans un projet informatique classique, deux types de métiers sont généralement rencontrés :

  • Les « Dev » (développeurs) : ce sont ceux qui implémentent un système, en créant du code.

  • Les « Ops » (opérationnels) : ce sont ceux qui mettent en production les codes des développeurs et les maintiennent ensuite.

Jusque dans les années 2000, ces métiers étaient très différenciés et il existait de nombreuses frictions entre ceux-ci, surtout en cas de problème lors du déploiement. 

L’intégration continue (ou CI pour Continuous Integration) est l’approche permettant d’intégrer de nouvelles parties du code dans le code global.

Le déploiement continu (ou CD pour Continuous Delivery) est l’approche permettant de mettre rapidement en production le code créé, grâce à des pipelines automatisées (comprenant entre autres le packaging du code, l’installation des dépendances, les tests, le passage d’un environnement à l’autre).

Si l’ensemble des approches CI/CD date de quelques dizaines d’années, l’amélioration de celles-ci a permis l’émergence du DevOps moderne : les métiers Dev et Ops se sont rapprochés, jusqu’à se retrouver au sein des mêmes équipes.

Les outils CI/CD et la philosophie DevOps permettent maintenant à des équipes de créer un code, puis de le préparer pour la mise en production (dont les tests sur plusieurs environnements) et enfin le déploiement.

Chaque évolution ou correction peut ainsi être disponible pour les utilisateurs en quelques minutes et de nombreuses entreprises ont dorénavant des cycles de mise sur le marché très courts.

Pour plus d’informations sur l’approche DevOps, le livre « DevOps - Intégrez et déployez en continu » est disponible aux Éditions ENI.

2. Apparition du MLOps

Dans les projets de Machine Learning, la méthodologie CRISP-DM permet de créer un modèle. Ensuite, grâce aux apprentissages issus de la méthode, le modèle choisi...