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 d’un diplômé à partir de sa moyenne , le GPA (grade point average, une note sur 4 utilisée aux États-Unis).
Pourquoi une démarche avant les algorithmes ?
Section intitulée « Pourquoi une démarche avant les algorithmes ? »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.
La roue en dix étapes
Section intitulée « La roue en dix étapes »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.
| Étape | Nom (en anglais dans le cours) | La question qu’on se pose |
|---|---|---|
| 0 | Problem formulation | Quelle est la situation, quelle est la question ? |
| 1 | Data | Que valent mes données (les 5 V) ? |
| 2 | Function space, hypothesis space | Sous quelle forme peut-il se transformer en ? |
| 3 | Loss function, learning criterion | Comment mesurer qu’une prédiction est mauvaise ? |
| 4 | Learning machines, estimators | Quel risque vais-je minimiser, et avec quel estimateur ? |
| 5 | Actual machine | Quels paramètres obtient-on concrètement ? |
| 6 | Refinement, verification | Le modèle est-il robuste et valide ? |
| 7 | Extrinsic comparison | Une autre approche fait-elle mieux sur les mêmes données ? |
| 8 | Theoretical analysis | Quelles garanties, quelle erreur minimale possible ? |
| 9 | Deployment | Comment 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 : est le GPA à la sortie, entre 0 et 4, et 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.
É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 et . Par exemple, une droite : , avec et deux nombres réels. L’ensemble de toutes ces droites s’appelle l’espace d’hypothèses (hypothesis space), noté . 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 et : 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 , 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.
Une roue, pas une ligne droite
Section intitulée « Une roue, pas une ligne droite »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.
Complément : la roue et CRISP-DM
Section intitulée « Complément : la roue et CRISP-DM »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-DM | Ce qu’on y fait | Étapes de la roue |
|---|---|---|
| Compréhension du métier (business understanding) | objectifs, critères de succès, contraintes | 0 |
| Compréhension des données (data understanding) | collecte, exploration, qualité | 1 |
| Préparation des données (data preparation) | nettoyage, sélection, construction de variables | 1 et 2 |
| Modélisation (modeling) | choix des techniques, réglage des paramètres | 2 à 5 |
| Évaluation (evaluation) | le modèle répond-il à l’objectif métier ? | 6 à 8 |
| Déploiement (deployment) | mise en production, suivi, maintenance | 9 |
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.
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.
En résumé
Section intitulée « En résumé »- 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.
Exercices
Section intitulée « Exercices »Exercice · Placer les tâches sur la roue
facilePour chacune de ces tâches du projet « salaire et GPA », indiquez l’étape de la roue concernée.
- Vérifier que certains salaires n’ont pas été saisis en dollars au lieu de milliers de dollars.
- Décider que l’on prédit le premier salaire annuel, et non le salaire à cinq ans.
- Mettre en ligne une page où un étudiant saisit son GPA et lit une fourchette de salaire.
- Essayer, en plus de la droite, une méthode des plus proches voisins, et comparer les deux.
- Choisir entre élever les erreurs au carré ou prendre leur valeur absolue.
Voir la solution
- Étape 1 (données) : c’est une question de véracité.
- Étape 0 (formulation du problème) : on précise la variable .
- Étape 9 (déploiement).
- Étape 7 (comparaison extrinsèque) : au moins deux approches sur les mêmes données, jugées sur des données non vues.
- Étape 3 (fonction de perte) : c’est le choix du critère d’insatisfaction.
Exercice · Un biais de sélection
moyenLe 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 salairep_reponse = 1 / (1 + np.exp(-(salaire - 55) / 4))repond = rng.uniform(size=n) < p_reponseprint(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.7print(round(pente(gpa, salaire), 1), round(pente(gpa[repond], salaire[repond]), 1)) # 12.0 7.9set.seed(0)n <- 10000 # toute la promotion (simulée)gpa <- runif(n, 2, 4)salaire <- 20 + 12 * gpa + rnorm(n, 0, 8) # vraie relation : pente 12
# Les bas salaires répondent moins : probabilité de réponse croissante avec le salairep_reponse <- 1 / (1 + exp(-(salaire - 55) / 4))repond <- runif(n) < p_reponsemean(repond) # 0.53 : taux de réponse
c(mean(salaire), mean(salaire[repond])) # 56.06 62.79c(coef(lm(salaire ~ gpa))[2], coef(lm(salaire ~ gpa, subset = repond))[2]) # 11.91 8.10 : pente écraséeExercice · Roue ou CRISP-DM ?
difficileUn 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.