Aller au contenu

Parcourez la roue du data mining

Le service carrières d’une université américaine reçoit chaque année la même question des étudiants : « Avec ma moyenne, à quel salaire puis-je m’attendre en sortant ? » Vous avez les données de plusieurs promotions, vous connaissez un peu de Python, et la tentation est grande d’ouvrir un notebook et de lancer une régression. Ce chapitre vous propose de résister dix minutes à cette tentation : avant de choisir un algorithme, il faut savoir quelle question on pose, à qui on répondra et comment on saura si la réponse est bonne.

Nous allons parcourir la roue du data mining, une démarche en dix étapes qui sert de colonne vertébrale à tout ce cours. Notre fil rouge, que vous retrouverez dans toute la première partie : prédire le salaire de sortie YY d’un diplômé à partir de sa moyenne XX, le GPA (grade point average, une note sur 4 utilisée aux États-Unis).

Un projet de data mining échoue rarement parce que l’algorithme était mauvais. Il échoue parce que la question était floue, que les données ne mesuraient pas ce qu’on croyait, ou que le modèle, excellent sur l’échantillon, ne valait rien sur la population qui comptait vraiment.

C’est pour cela qu’on présente souvent la science des données (data science) comme l’intersection de trois domaines :

  • l’algorithmique et le calcul : savoir implémenter, optimiser, passer à l’échelle ;
  • les statistiques et les mathématiques : la méthodologie et la théorie, qui disent ce qu’on a le droit de conclure ;
  • la connaissance du domaine (domain knowledge) : savoir ce qu’est un salaire, qu’un GPA de 4,0 n’a pas le même sens dans toutes les universités, qu’un premier emploi à New York n’est pas payé comme à Rochester.

Retirez l’un des trois et le projet boite. Sans la connaissance du domaine, vous produisez des corrélations absurdes ; sans les statistiques, vous confondez un hasard d’échantillon avec une loi générale ; sans l’algorithmique, vous ne dépassez pas le tableur.

algorithmiqueet calculstatistiques etmathématiquesconnaissancedu domainesciencedes donnéessans le domaine :corrélations absurdessans l’algorithmique :bloqué au tableursans les statistiques :le hasard prispour une loi
La science des données est l'intersection des trois cercles. Chaque zone où l'un des trois manque correspond à un échec typique : corrélations absurdes, hasard pris pour une loi, ou analyse bloquée au tableur.

La roue se lit dans le sens des aiguilles d’une montre, de l’étape 0 à l’étape 9. On l’appelle roue, et non escalier, parce qu’on y fait souvent plusieurs tours : une vérification ratée à l’étape 6 vous renvoie volontiers à l’étape 2, voire à l’étape 0.

la rouedu data mining0123456789Formuler le problèmeDonnées (5 V)Espace d’hypothèsesFonction de perteRisque et estimateurMachine ajustéeAffiner et vérifierComparerGaranties théoriquesDéployer
ÉtapeNom (en anglais dans le cours)La question qu’on se pose
0Problem formulationQuelle est la situation, quelle est la question ?
1DataQue valent mes données (les 5 V) ?
2Function space, hypothesis spaceSous quelle forme XX peut-il se transformer en YY ?
3Loss function, learning criterionComment mesurer qu’une prédiction est mauvaise ?
4Learning machines, estimatorsQuel risque vais-je minimiser, et avec quel estimateur ?
5Actual machineQuels paramètres obtient-on concrètement ?
6Refinement, verificationLe modèle est-il robuste et valide ?
7Extrinsic comparisonUne autre approche fait-elle mieux sur les mêmes données ?
8Theoretical analysisQuelles garanties, quelle erreur minimale possible ?
9DeploymentComment mettre le modèle entre les mains des utilisateurs ?

Les couleurs du schéma regroupent les étapes en quatre temps : cadrer (0 et 1), apprendre (2 à 5), vérifier (6 à 8) et livrer (9). Parcourons-les avec notre service carrières.

Étapes 0 et 1 : cadrer la question et les données

Section intitulée « Étapes 0 et 1 : cadrer la question et les données »

Étape 0, formuler le problème. « Prédire le salaire avec le GPA » paraît clair, mais ne l’est pas. De quel salaire parle-t-on : le premier salaire annuel brut, ou celui à cinq ans ? Pour quels étudiants : toutes les filières, ou seulement les ingénieurs ? Et pour quoi faire : informer un étudiant (une fourchette suffit), ou fixer une bourse (il faut alors une grande précision) ? Fixons les choses : XX est le GPA à la sortie, entre 0 et 4, et YY le premier salaire annuel, en milliers de dollars.

Étape 1, les données et leurs « 5 V ». On décrit classiquement un jeu de données par cinq propriétés :

  • le volume : combien d’exemples ? Trois promotions de 200 diplômés, soit 600 lignes, ce n’est pas du big data, et c’est très bien ainsi ;
  • la vélocité : les données arrivent-elles d’un bloc ou en flux continu, comme une séquence ? Ici, une fois par an ;
  • la variété : des nombres, du texte (l’intitulé du poste), des catégories (la filière) ;
  • la véracité : peut-on croire les valeurs ? Les salaires sont déclarés par les diplômés, qui arrondissent, oublient ou enjolivent ;
  • la valeur : les données permettent-elles vraiment de répondre à la question ?

La véracité mérite une attention particulière. Qui répond à l’enquête de salaire ? Souvent ceux qui ont trouvé un bon emploi. Vos données surreprésentent alors les hauts salaires, et aucun algorithme ne corrigera ce biais de sélection à votre place.

2,002,252,502,753,003,253,503,754,00GPA30405060708090salaire (k$)moyenneréelle 56,0moyenne desrépondants 62,7n’a pas répondua répondu à l’enquêtetoute la promotion : pente 12,0répondants seuls : pente 7,9
Simulation de l'exercice 2 : les bas salaires répondent moins. Les répondants (en vert) surestiment la moyenne (62,7 au lieu de 56,0) et écrasent la pente (7,9 au lieu de 12), sans qu'aucune vérification sur ces seules données ne le révèle.

Étapes 2 à 5 : de la forme du modèle aux paramètres

Section intitulée « Étapes 2 à 5 : de la forme du modèle aux paramètres »

Étape 2, l’espace d’hypothèses. Vous décidez de la forme de la relation entre XX et YY. Par exemple, une droite : f(x)=β0+β1xf(x) = \beta_0 + \beta_1 x, avec β0\beta_0 et β1\beta_1 deux nombres réels. L’ensemble de toutes ces droites s’appelle l’espace d’hypothèses (hypothesis space), noté H\mathcal{H}. La relation pourrait aussi être non linéaire : peut-être le salaire plafonne-t-il au-delà d’un certain GPA.

Étape 3, la fonction de perte. Il faut dire ce qu’est une « mauvaise » prédiction. Le cours parlait de mesurer l’insatisfaction : prédire 60 000 dollars à quelqu’un qui en gagne 45 000, c’est une insatisfaction de 15 000 dollars, qu’on élève souvent au carré. Ce choix a des conséquences profondes, que vous verrez au chapitre 2.

Étape 4, le risque et l’estimateur. On écrit ce que l’on veut minimiser : l’insatisfaction moyenne sur toute la population (le risque), et sa version calculable sur l’échantillon (le risque empirique).

Étape 5, la machine réelle. On minimise, et l’on obtient des valeurs concrètes, par exemple β^0≈24\hat{\beta}_0 \approx 24 et β^1≈11\hat{\beta}_1 \approx 11 : chaque point de GPA en plus rapporterait environ 11 000 dollars. C’est la seule étape que beaucoup de gens appellent « faire du machine learning ».

Étapes 6 à 9 : vérifier, comparer, garantir, livrer

Section intitulée « Étapes 6 à 9 : vérifier, comparer, garantir, livrer »

Étape 6, affiner et vérifier. Le modèle est-il robuste (change-t-il du tout au tout si l’on retire dix diplômés ?) et valide (les hypothèses de l’étape 2 tiennent-elles, les résidus ont-ils une forme suspecte ?).

Étape 7, la comparaison extrinsèque. Deux analystes n’interprètent pas le même problème de la même façon. Le cours insistait sur une règle simple : toujours essayer au moins deux approches différentes sur les mêmes données, par exemple une droite et une méthode non paramétrique, et les juger sur leurs performances sur la population, pas sur l’échantillon. C’est l’objet du chapitre 5.

Étape 8, l’analyse théorique. Quelle est la plus petite erreur possible, notée R∗R^*, que même une machine parfaite ne pourrait pas battre ? Quelle confiance accorder au score mesuré ? Les chapitres 3 et 5 y répondent.

Étape 9, le déploiement. Un modèle qui dort dans un notebook ne sert à personne. Le cours citait Shiny, un outil qui transforme un script R en petite application web : l’étudiant entre son GPA, l’application affiche une fourchette de salaire. En Python, Streamlit ou une petite API jouent le même rôle.

Le cours donnait aussi une version courte de la roue, en sept éléments : le jeu de données, le type de relation (linéaire ou non), la représentation, le critère pour juger une représentation, le principe et son algorithme, la construction et l’affinage du modèle, puis la comparaison et la vérification sur toute la population, avant le déploiement. C’est la même démarche, regroupée autrement. Retenez surtout l’idée commune : chaque étape repose sur des choix, et ces choix dépendent du point de vue de celui qui les fait.

Deux conséquences pratiques en découlent.

  • Les retours en arrière sont normaux. Vous découvrez à l’étape 6 que les résidus sont énormes pour les GPA élevés ? Retour à l’étape 2 : la relation n’est peut-être pas linéaire. Vous découvrez à l’étape 1 que 40 % des salaires manquent ? Retour à l’étape 0 : la question est peut-être à reformuler.
  • Les choix doivent être écrits. Deux équipes qui partent des mêmes données peuvent arriver à des conclusions opposées si l’une élève les erreurs au carré et l’autre non. Documenter chaque étape, c’est permettre à quelqu’un d’autre de refaire (et de critiquer) votre raisonnement.

Dans l’industrie, la démarche la plus citée n’est pas la roue, mais CRISP-DM (Cross-Industry Standard Process for Data Mining), proposée à la fin des années 1990 par un consortium d’entreprises. Elle ne figure pas dans les notes de ce cours, mais vous la rencontrerez dans les offres d’emploi et les entretiens, et elle se superpose très bien à la roue.

CRISP-DM compte six phases, elles aussi reliées par des flèches de retour :

Phase CRISP-DMCe qu’on y faitÉtapes de la roue
Compréhension du métier (business understanding)objectifs, critères de succès, contraintes0
Compréhension des données (data understanding)collecte, exploration, qualité1
Préparation des données (data preparation)nettoyage, sélection, construction de variables1 et 2
Modélisation (modeling)choix des techniques, réglage des paramètres2 à 5
Évaluation (evaluation)le modèle répond-il à l’objectif métier ?6 à 8
Déploiement (deployment)mise en production, suivi, maintenance9

Les deux démarches ne mettent pas l’accent au même endroit. CRISP-DM est une méthode de gestion de projet : elle détaille la préparation des données, qui mange souvent la majorité du temps, et insiste sur le lien avec le métier. La roue est une démarche de statisticien : elle découpe finement la modélisation (espace d’hypothèses, perte, risque, estimateur) et ajoute une étape que CRISP-DM n’a pas, l’analyse théorique. Les deux se complètent : CRISP-DM vous dit quoi faire dans un projet, la roue vous dit pourquoi le modèle obtenu a une chance de généraliser.

0 Formuler le problème1 Données (5 V)2 Espace d’hypothèses3 Fonction de perte4 Risque et estimateur5 Machine ajustée6 Affiner et vérifier7 Comparer8 Garanties théoriques9 DéployerCompréhension du métierCompréhension des donnéesPréparation des donnéesModélisationÉvaluationDéploiementCRISP-DM (6 phases)la roue (10 étapes)
La modélisation, une seule phase de CRISP-DM, se déplie en quatre étapes de la roue : c'est là que la roue est plus fine. À l'inverse, CRISP-DM consacre une phase entière à la préparation des données.

Ce cours suit la roue. La première partie couvre les étapes 2 à 5 et 8 (chapitres 2 et 3), la seconde les étapes 6 à 8 (chapitres 4 à 6), et le dernier chapitre revient à l’étape 1 avec la détection d’anomalies. Pour les algorithmes eux-mêmes (arbres de décision, k plus proches voisins, k-means), ce cours renvoie au cours d’Apprentissage automatique et au cours d’Analyse et fouille de données.

  • La science des données est à l’intersection de l’algorithmique, des statistiques et de la connaissance du domaine.
  • La roue du data mining enchaîne dix étapes : formuler (0), données (1), espace d’hypothèses (2), perte (3), risque et estimateur (4), machine ajustée (5), vérification (6), comparaison (7), garanties théoriques (8), déploiement (9).
  • Les 5 V décrivent un jeu de données : volume, vélocité, variété, véracité, valeur. La véracité (biais de sélection, valeurs saisies) est souvent le point faible.
  • On compare toujours au moins deux approches, et on juge un modèle sur la population, pas sur l’échantillon.
  • La roue se parcourt en plusieurs tours : revenir en arrière est normal, et chaque choix doit être documenté.
  • CRISP-DM (six phases) couvre la même démarche avec un regard de gestion de projet ; la roue détaille davantage la modélisation et la théorie.

Exercice · Placer les tâches sur la roue

facile

Pour chacune de ces tâches du projet « salaire et GPA », indiquez l’étape de la roue concernée.

  1. Vérifier que certains salaires n’ont pas été saisis en dollars au lieu de milliers de dollars.
  2. Décider que l’on prédit le premier salaire annuel, et non le salaire à cinq ans.
  3. Mettre en ligne une page où un étudiant saisit son GPA et lit une fourchette de salaire.
  4. Essayer, en plus de la droite, une méthode des plus proches voisins, et comparer les deux.
  5. Choisir entre élever les erreurs au carré ou prendre leur valeur absolue.
Voir la solution
  1. Étape 1 (données) : c’est une question de véracité.
  2. Étape 0 (formulation du problème) : on précise la variable YY.
  3. Étape 9 (déploiement).
  4. Étape 7 (comparaison extrinsèque) : au moins deux approches sur les mêmes données, jugées sur des données non vues.
  5. Étape 3 (fonction de perte) : c’est le choix du critère d’insatisfaction.

Exercice · Un biais de sélection

moyen

Le service carrières n’a de salaire que pour les diplômés qui ont répondu à l’enquête : 55 % d’une promotion. On soupçonne que ceux qui n’ont pas trouvé d’emploi, ou un emploi mal payé, répondent moins. Quelles conséquences cela a-t-il sur un modèle « salaire en fonction du GPA » ? À quelle étape de la roue faut-il le traiter, et comment ?

Voir la solution

Les données ne sont plus un échantillon représentatif de la population des diplômés : elles surreprésentent les situations favorables. Le modèle aura donc tendance à surestimer les salaires, et ce biais ne se verra pas dans l’évaluation, puisque les données de test ont le même défaut que les données d’apprentissage. Si les non-répondants sont surtout des étudiants à faible GPA, la pente elle-même peut être faussée.

Le problème relève de l’étape 1 (véracité des données), mais il remonte à l’étape 0 : il faut dire clairement sur quelle population le modèle est valable (« les diplômés en emploi qui répondent à l’enquête »). Pour le corriger, on peut relancer les non-répondants sur un sous-échantillon, repondérer les réponses selon des variables connues pour tous (filière, GPA), ou au minimum afficher la limite dans l’application déployée.

En code

import numpy as np
rng = np.random.default_rng(0)
n = 10_000 # toute la promotion (simulée)
gpa = rng.uniform(2, 4, n)
salaire = 20 + 12 * gpa + rng.normal(0, 8, n) # vraie relation : pente 12
# Les bas salaires répondent moins : probabilité de réponse croissante avec le salaire
p_reponse = 1 / (1 + np.exp(-(salaire - 55) / 4))
repond = rng.uniform(size=n) < p_reponse
print(round(repond.mean(), 2)) # 0.54 : taux de réponse
def pente(x, y): # pente des moindres carrés
return np.cov(x, y)[0, 1] / np.var(x, ddof=1)
print(round(salaire.mean(), 1), round(salaire[repond].mean(), 1)) # 56.0 62.7
print(round(pente(gpa, salaire), 1), round(pente(gpa[repond], salaire[repond]), 1)) # 12.0 7.9

Exercice · Roue ou CRISP-DM ?

difficile

Un recruteur vous demande : « Vous connaissez CRISP-DM ? » Vous avez appris la roue du data mining. Rédigez une réponse de quatre ou cinq phrases qui montre la correspondance entre les deux démarches et ce que chacune apporte.

Voir la solution

Une réponse possible :

« Oui. CRISP-DM découpe un projet en six phases : compréhension du métier, compréhension des données, préparation, modélisation, évaluation et déploiement, avec des retours en arrière. J’ai appris au RIT une démarche voisine, la roue du data mining, qui suit le même chemin mais détaille davantage la modélisation : choix de l’espace d’hypothèses, de la fonction de perte, du risque à minimiser, puis une étape d’analyse théorique sur l’erreur minimale atteignable. CRISP-DM m’aide à organiser le projet avec le métier, la roue m’aide à justifier pourquoi le modèle généralisera. Dans les deux cas, je compare au moins deux approches sur des données non vues avant de déployer. »

L’important est de montrer que vous connaissez les six phases, que vous voyez la correspondance (métier ↔ étape 0, données ↔ étape 1, modélisation ↔ étapes 2 à 5, évaluation ↔ étapes 6 à 8, déploiement ↔ étape 9) et que vous savez ce que chacune apporte.