• 10 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 23/04/2024

Abordez le domaine d’application du Machine Learning

Différenciez modélisation statistique et modélisation prédictive

Imaginons que vous soyez responsable des données d'une plateforme de contenu en ligne dont le business model repose sur le nombre d'abonnements souscrits. On vous pose 2 questions :

  1. Quel est le profil des utilisateurs qui s'abonnent ?

  2. Comment prédire si un nouvel utilisateur va s'abonner ?

Dans les 2 cas, on cherche à en savoir plus sur l'acte d'abonnement d'un utilisateur. Cependant, ces questions imposent deux approches différentes :

  1. La modélisation statistique

  2. La modélisation prédictive.

La modélisation statistique

La première question (“Quel est le profil des utilisateurs qui s’abonnent ?”) est relative au profil. Avec cette question, on cherche à comprendre l'acte d'abonnement en fonction des caractéristiques des utilisateurs.

On est dans une démarche d'analyse et d'interprétation de la dynamique entre les variables. La modélisation statistique s'appuie sur des tests d'hypothèses et des modèles mathématiques pour évaluer les conclusions de l'analyse.

La modélisation prédictive

La seconde question (“Comment prédire si un nouvel utilisateur va s’abonner ?”) est relative à la prédiction. Avec cette question, on ne cherche qu'à prédire l'acte d'abonnement le plus efficacement possible. C'est l'approche Machine Learning.

On attend 2 choses du modèle prédictif issu d'une approche Machine Learning :

  1. Des prédictions de qualité, soit un bon score que l'on va calculer grâce à une métrique choisie au préalable.

  2. Sa capacité à extrapoler : soit à généraliser ses prédictions à partir des données d'entraînement. On parle de robustesse du modèle face à de nouveaux échantillons.

Prenons un exemple : la présélection d'un CV de candidature est souvent automatisée. Dans une approche ML pure, le recruteur ne connaît pas les critères de sélection du modèle, seulement la sélection de candidats. Le candidat ne pourra pas non plus s'assurer qu'il n'y a pas eu discrimination par le modèle.

La question de l'interprétabilité des prédictions d'un modèle de type boîte noire est cruciale dans certains secteurs (banque, assurances, ressources humaines…). Heureusement, des solutions existent pour déterminer quelles sont les variables qui ont le plus influencé une prédiction donnée.

Pour résumer, voici les différences entre modélisation statistique et modélisation prédictive :

 

Modélisation statistique

Modélisation prédictive

(= Machine Learning)

Objectif

Expliquer, analyser

Prédire

Focus

Fiabilité des conclusions : tests d'hypothèses et intervalles de confiance

Performance, résilience et robustesse du modèle

Utilisation des données

Tous les échantillons

Une partie des échantillons est réservée à l'évaluation des performances du modèle

Librairies Python

statsmodel

scikit-learn, PyTorch, TensorFlow

Bien que l'on puisse aussi utiliser les modèles statistiques pour de la prédiction, la puissance des modèles Machine Learning est sans commune mesure. D’ailleurs le cours se concentre là-dessus.

La fonction prédictive du Machine Learning est polymorphe. Autrement dit, selon les besoins elle s'appelle “classification”, “supervision”, “détection”, “proposition”, “ranking”, “prévision”... mais à la base il y a toujours un but de prédiction.

Nous profitons de cette profusion de modèles prédictifs au quotidien :

  • proposition de contenu sur les plateformes ;

  • prévention et surveillance globale ;

  • évaluation des risques ;

  • IA générative ;

  • optimisation des chaînes de production et de ventes ;

  • détection des anomalies ;

  • prévisions temporelles, etc.

À la base du Machine Learning se trouve le jeu de données (ou dataset, en anglais). L'apprentissage se nourrit de données. Sans données, pas de Machine Learning !

Comprenez en quoi consiste le Machine Learning

Le but du ML est donc d'entraîner un modèle prédictif à partir d'un jeu de données.

Mais en pratique, comment cela se passe-t-il ?

Quand on parle de jeux de données, pensez à une feuille de type Google Spreadsheet ou tableur Excel. Les variables sont les colonnes, et les échantillons sont les lignes.

Par exemple, prenons un jeu de données comprenant l'âge, la taille et le poids d'une centaine de collégiens. Si on souhaite prédire le poids des enfants en fonction de leur taille et de leur âge, la variable cible sera le poids et les variables prédictrices seront l'âge et la taille.

Reprenons l’exemple de notre jeu de données comprenant l'âge, la taille et le poids d'une centaine de collégiens. On suppose raisonnablement que la taille et l'âge d'un enfant sont liés à son poids.

Voici donc notre formule :

 $\(poids = fonction(age, taille) + bruit\)$

Deux nuages de points relatifs aux données d'écoliers ; en abscisse le poids et en ordonnée l'âge dans le premier et la taille dans le second, pour des filles et garçons de 12 à 22 ans.
Nuage de points représentants le poids contre l'âge et la taille

Voici les étapes pour développer un modèle prédictif à partir de ce dataset :

1. Le travail sur la donnée

Tout commence par un travail de transformation des données brutes pour les rendre compatibles avec le modèle de ML choisi : nettoyage, normalisation, numérisation, etc. On parle de nettoyage des données ou data cleaning.

Exemples : données manquantes (la moitié des tailles manquent), données erronées (une personne a 200 ans ou un poid est négatif), ou normalisation nécessaire (prix de vente de maison en centaines de milliers vs nombre de mètres carrés en centaines), format et accessibilité des données : 200 fichiers Excel à combiner, fichiers trop lourds, pas compatibles, etc.

2. Validation croisée

Comme on veut obtenir un modèle qui soit capable de bien performer sur des données qu'il n'a pas déjà rencontrées lors de son entraînement, on veut éviter que le modèle ne soit évalué sur les échantillons d'entraînement.

On va donc découper le dataset en 2 parties :

  1. Une partie des échantillons sont réservés à l'entraînement du modèle. Par convention, on appelle cette partie train, pour “entraînement”.

  2. L'autre partie est mise de côté pour évaluer la performance du modèle sur des données qu'il n'a pas vues. Par convention, on appelle cette partie test.

On considère habituellement un ratio entre train et test de 80 / 20 %.

On va d'ailleurs répéter ce découpage plusieurs fois et de façon aléatoire pour s'assurer que le modèle performe dans tous les cas de répartition train / test. Cette méthode s'appelle la validation croisée (nous reviendrons dessus de façon plus approfondie).

On découpe le dataset en 2 parties : une partie pour entraîner le modèle (train en anglais) et une partie pour tester le modèle (test en anglais).
Séparation train et test du dataset

Au fil des expériences, on risque d'optimiser manuellement le modèle vis-à-vis du dataset de test. Donc pour éviter cela, on va scinder le dataset en non pas 2 mais 3 parties pour être bien sûr qu’une partie des données ne soit jamais visible par le modèle. On a donc au préalable à la validation croisée réservé une partie dite de validation sur laquelle on ne regardera les performances du modèle qu'une fois celui-ci totalement entraîné et optimisé. Cependant, dans certains domaines d'application, comme par exemple la prédiction des stocks, on veut être absolument sûr que cette séparation soit absolue, et donc on n’a qu'un shot pour utiliser le dataset de validation. Une fois cette cartouche utilisée, on ne veut plus toucher au modèle de peur de le corrompre. Mais c'est toutefois un cas extrême de séparation de l'évaluation et de l'entraînement d'un modèle.

3. Optimisation

En parallèle, on va chercher à améliorer la performance du modèle en modifiant ses paramètres et en observant son score sur chaque version train / test du dataset. Chaque type de modèle a sa propre famille de paramètres qui dépend des librairies utilisées. C'est à force de travailler sur ces paramètres que l'on développe un véritable savoir-faire de data scientist.

Distinguez approche non supervisée et approche supervisée

En Machine Learning, il faut distinguer :

  1. L'approche non supervisée.

  2. L'approche supervisée.

Imaginez que vous ayez beaucoup de photos de chats et de chiens. Vous souhaitez les classer automatiquement en utilisant un modèle de Machine Learning.

L’approche non supervisée

Dans l'approche non supervisée, vous n'avez pas de système d’étiquetage pour différencier les photos de chats et de chiens. Cela dit, le modèle va essayer de regrouper automatiquement les photos en fonction de leurs caractéristiques intrinsèques. Il les regroupe en grappes (ou clusters, en anglais), sans aucune connaissance préalable sur les espèces. On parle donc de clustering.

L’approche supervisée

En revanche, dans l'approche supervisée, il vous faudra étiqueter chaque image en “chat” ou en “chien”. Cette étiquette constitue alors la variable cible que le modèle va chercher à prédire. Cet étiquetage est réalisé par un humain et peut entraîner un coût important quand il s'agit d'étiqueter des milliers d'échantillons, voire plus.

Dans l'approche supervisée, en fonction de la nature de la variable cible, on parlera :

  • de classification lorsque l'on prédit des catégories : 

    • binaires (oui/non),

    • ordinales (petit, moyen, grand),

    • ou nominales (chat - chien - brebis , bleu - rose - vert - blanc...) ;

  • et de régression lorsque l'on prédit une variable continue : prix, âge, salaire, volume, température, etc.

Le clustering fait partie de l’approche non supervisée. La classification et la régression font partie de l’approche supervisée.
Les approches non supervisée et supervisée

À vous de jouer !

Tout modèle prédictif repose sur un jeu de données. Sans données, pas de Machine Learning.

En 1978, David Aha, étudiant à l’université de Californie à Irvine, a créé un serveur mettant à disposition des jeux de données pour le Machine Learning. Ce serveur est maintenant une source incontournable de données avec plus de 600 jeux de données, répertoriés par tâche et par type de donnée… et vous allez l'explorer.

Vous observez :

La tâche

Classification

Le nombre d’échantillons

150

Le nombre de variables

predictive: attributes: 4

La date de donation

1 juillet 1988

Cliquez sur le nom du dataset Iris pour accéder à sa page et observez entre autres :

  • les informations sur les variables : attributes, information et Features ;

  • les performances attendues en fonction des modèles considérés ;

  • le dataset est accessible via le bouton Download.

Explorez le site en utilisant les filtres de recherche.

Par exemple :

  • data type: tabular

  • task: classification

Vous remarquerez que chaque page a :

  • une présentation du dataset ;

  • les articles académiques utilisant le dataset ;

  • les informations sur les variables ;

  • et la performance relative des principaux modèles prédictifs. 

Il existe bien d'autres sources de datasets, nous y reviendrons.

En résumé

  • Le Perceptron, ancêtre des réseaux de neurones actuels, a été inventé en 1957 : le Machine Learning ne date pas d'hier.

  • La modélisation statistique tend à comprendre la dynamique interne des variables tandis que le Machine Learning a pour unique but la prédiction d'une de ces variables.

  • Il y a 3 étapes pour développer un modèle : travail sur la donnée, validation croisée et optimisation.

  • On distingue deux approches : l’approche supervisée, où une des variables est utilisée comme cible de la prédiction ; l'approche non supervisée qui vise à regrouper les échantillons par similarité (on parle de clustering).

  • Dans l'approche supervisée, dans le cas d'une variable cible continue on parlera de régression, et de classification si la variable cible est composées de catégories.

  • Vous trouverez de nombreux datasets pour le Machine Learning sur le site de UCI.

Nous avons beaucoup parlé de modèles dans ce chapitre. Nous allons maintenant préciser ce terme dans le contexte du Machine Learning.

Exemple de certificat de réussite
Exemple de certificat de réussite