Fundamentals of Machine Learning
Chapitre 1 / 10 · 16 min de lecture

Le machine learning pour l'analyse prédictive

Ce qu'est l'analyse prédictive, comment une machine apprend un modèle à partir de données, le piège du sur-apprentissage, et le cycle CRISP-DM.

Les organisations modernes collectent des quantités massives de données, mais une donnée n'a de valeur que si on l'analyse pour en extraire des éclairages (insights) qui nourrissent de meilleures décisions. La progression va donc des données aux éclairages, puis aux décisions — et extraire ces éclairages est précisément le métier de l'analyse de données (data analytics). Ce livre se concentre sur une de ses sous-disciplines les plus importantes : l'analyse prédictive (predictive data analytics), l'art de construire et d'utiliser des modèles qui font des prédictions à partir de régularités extraites de données historiques. Ce chapitre fondateur pose les questions essentielles : qu'est-ce qu'une prédiction, qu'est-ce qu'apprendre un modèle, pourquoi le problème est-il fondamentalement mal posé, et quel processus structuré conduit un projet jusqu'au bout.

Qu'est-ce que l'analyse prédictive de données ?

L'analyse prédictive consiste à bâtir un modèle qui prédit la valeur d'une variable inconnue à partir de motifs appris sur le passé. Le terme « prédiction » est ici à prendre au sens large. Dans le langage courant, prédire a une dimension temporelle — on annonce ce qui va arriver. En analyse de données, une prédiction est plus généralement l'assignation d'une valeur à n'importe quelle variable inconnue : ce peut être le prix futur d'un bien (dimension temporelle), mais aussi le type d'un document déjà existant (aucune dimension temporelle). Le livre illustre l'étendue du champ par plusieurs applications concrètes.

ApplicationVariable préditeDonnées historiques exploitées
Prédiction de prix (price prediction)Prix optimal à pratiquerHistoriques de ventes, saisonnalité, demande, événements
Prédiction de dosage (dosage prediction)Quantité optimale d'un médicamentDosages passés et résultats associés
Évaluation du risque (risk assessment)Risque d'un prêt ou d'une police d'assuranceCas passés et indicateurs clés de risque
Modélisation de propension (propensity modeling)Probabilité qu'un client agisse (churn, achat, réponse)Comportements historiques des clients
Diagnostic (diagnosis)Diagnostic médical, technique ou scientifiqueVastes collections d'exemples historiques
Classification de documents (document classification)Catégorie d'un document, e-mail, image, son, vidéoDocuments déjà étiquetés

Tous ces exemples partagent deux traits. D'abord, dans chaque cas, un modèle produit une prédiction qui aide une personne ou une organisation à décider — la prédiction est un intrant de la décision, rarement la décision elle-même. Ensuite, ce modèle est entraîné à partir d'un ensemble d'exemples historiques. C'est le machine learning qui se charge de cet entraînement.

Qu'est-ce que le machine learning ?

Le machine learning se définit comme un processus automatisé qui extrait des régularités à partir de données. Pour construire les modèles de l'analyse prédictive, on recourt plus précisément à l'apprentissage supervisé (supervised machine learning) : une technique qui apprend automatiquement un modèle de la relation entre un ensemble de caractéristiques descriptives (descriptive features) et une caractéristique cible (target feature), à partir d'un ensemble d'exemples — appelés instances. Le processus se déroule en deux temps bien séparés : une phase d'apprentissage où l'algorithme induit le modèle depuis les données, puis une phase de prédiction où ce modèle est appliqué à de nouvelles instances.

Note

Il existe d'autres formes de machine learning — apprentissage non supervisé, semi-supervisé, par renforcement. Ce livre traite exclusivement de l'apprentissage supervisé et emploie « apprentissage supervisé » et « machine learning » comme synonymes. Le terme « supervisé » signale que les exemples portent déjà la bonne réponse (la valeur cible), comme un enseignant qui corrige.

Prenons le domaine du scoring de crédit. Une banque dispose d'un jeu de données (dataset) de prêts immobiliers accordés par le passé. Chaque ligne est une instance d'entraînement (training instance), et l'ensemble forme un jeu d'entraînement (training dataset). Les caractéristiques descriptives renseignent la profession (OCCUPATION, professionnelle ou industrielle), l'âge (AGE) et le ratio entre le salaire et le montant emprunté (LOAN-SALARY RATIO) ; la caractéristique cible OUTCOME indique si l'emprunteur a remboursé (repay) ou fait défaut (default).

IDOCCUPATIONAGELOAN-SALARY RATIOOUTCOME
1industrielle342,96repay
2professionnelle414,64default
3professionnelle363,22default
4professionnelle413,11default
5industrielle483,80default
6industrielle612,52repay
7professionnelle371,50repay
8professionnelle401,93repay
9industrielle335,25default
10industrielle324,15default

Un modèle de prédiction très simple pour ce domaine tiendrait en une règle.

si LOAN-SALARY RATIO > 3 alors
    OUTCOME = default
sinon
    OUTCOME = repay

On dit que ce modèle est cohérent (consistent) avec le jeu de données, car il ne se trompe sur aucune des dix instances. Pour ce jeu minuscule, on aurait pu écrire la règle à la main : le machine learning n'apporte presque rien à cette échelle. Mais considérons une version plus complète du même problème, enrichie de nouvelles caractéristiques — le montant emprunté (AMOUNT), le salaire (SALARY), le type de bien (PROPERTY : ferme, maison ou appartement) et le type de prêt (TYPE : ftp pour primo-accédant, stb pour secundo-accédant) — et de bien plus d'instances. La règle fondée sur le seul ratio n'est alors plus cohérente. Un modèle cohérent existe pourtant ; il est seulement plus difficile à trouver.

si LOAN-SALARY RATIO < 1.5 alors
    OUTCOME = repay
sinon si LOAN-SALARY RATIO > 4 alors
    OUTCOME = default
sinon si AGE < 40 et OCCUPATION = industrielle alors
    OUTCOME = default
sinon
    OUTCOME = repay

Découvrir un tel modèle à la main, en examinant les données, est quasiment impossible. Pour un algorithme de machine learning, c'est trivial. Dès que les jeux de données sont grands et comportent de nombreuses caractéristiques, le machine learning devient la solution.

Comment le machine learning fonctionne-t-il ?

Un algorithme de machine learning travaille en parcourant un ensemble de modèles candidats à la recherche de celui qui capture le mieux la relation entre caractéristiques descriptives et caractéristique cible. Le critère le plus évident pour guider cette recherche serait de retenir les modèles cohérents avec les données. Or, pour deux raisons au moins, la seule cohérence ne suffit pas.

D'abord, les grands jeux de données contiennent presque toujours du bruit (noise) — par exemple des valeurs mal étiquetées. Un modèle parfaitement cohérent avec des données bruitées reproduira ces erreurs et fera de mauvaises prédictions. Ensuite, et c'est plus profond, le jeu d'entraînement n'est qu'un petit échantillon de l'univers des instances possibles du domaine. De ce fait, le machine learning est un problème mal posé (ill-posed problem) : un problème pour lequel on ne peut déterminer une solution unique avec la seule information disponible.

Un problème mal posé : l'exemple de la grande distribution

Pour rendre cette idée tangible, le livre propose un scénario de distribution : classer des foyers clients en groupes démographiques — single, couple ou family — uniquement d'après leurs habitudes d'achat. Trois caractéristiques binaires : l'achat d'aliments pour bébé (BBY), d'alcool (ALC) et de produits bio (ORG), chacune valant yes ou no. La cible GRP donne le groupe. Comme la cible y est renseignée, on parle de jeu de données étiqueté (labeled dataset).

IDBBYALCORGGRP
1nononocouple
2yesnoyesfamily
3yesyesnofamily
4nonoyescouple
5noyesyessingle

Combien de modèles distincts existent pour ce scénario ? La propriété décisive d'un modèle est qu'il associe une prédiction à chaque combinaison possible de valeurs descriptives. Avec trois caractéristiques binaires, il y a 2³ = 8 combinaisons d'entrée. Pour chacune, la cible peut prendre 3 valeurs, donc le nombre total de modèles possibles est 3⁸ = 6 561. L'algorithme part de ces 6 561 modèles et élimine ceux qui contredisent les cinq instances d'entraînement.

Avant entraînement : 6561 modèles candidats

                       │  on retire ceux qui se trompent
                       │  sur l'une des 5 instances connues

Après entraînement : 27 modèles encore cohérents
   (5 combinaisons fixées par les données,
    3 combinaisons restent inconnues : 3³ = 27)

Le jeu d'entraînement ne couvre que 5 des 8 combinaisons. Il reste donc 3 combinaisons dont la bonne valeur cible est inconnue, et 3³ = 27 modèles demeurent cohérents. Avoir plusieurs modèles cohérents pourrait sembler une bonne nouvelle. C'en est une mauvaise : ces modèles s'accordent sur les instances connues mais se contredisent sur les inconnues. Pour un nouveau client achetant à la fois aliments pour bébé, alcool et bio, un modèle prédira single, un autre family, un troisième couple.

Attention

Le critère de cohérence n'offre aucune indication pour départager les modèles sur les requêtes hors du jeu d'entraînement. Chercher uniquement des modèles cohérents revient à mémoriser le jeu de données : aucun apprentissage n'a lieu, car cela n'apprend rien sur la relation sous-jacente au-delà de ce qu'une simple consultation de la table fournirait.

Généralisation et biais inductif

Pour être utile, un modèle doit savoir prédire sur des requêtes absentes des données. Un modèle qui prédit correctement ces cas capture la relation profonde entre descriptif et cible : on dit qu'il généralise bien (generalizes well). Le but du machine learning est précisément de trouver le modèle qui généralise le mieux. Mais puisque la cohérence ne suffit pas à le sélectionner, l'algorithme a besoin d'un critère supplémentaire pour choisir parmi les candidats.

C'est ici qu'intervient le concept central du chapitre. L'ensemble des hypothèses qui définissent ce critère de sélection s'appelle le biais inductif (inductive bias) de l'algorithme. Le mot « inductif » renvoie à l'apprentissage inductif : déduire une règle générale d'un nombre fini d'exemples. Chaque algorithme encode un biais différent, et choisir un algorithme, c'est de fait choisir un biais inductif. On en distingue deux espèces, souvent combinées.

Type de biaisRôleExemple dans le livre
Biais de restriction (restriction bias)Restreint l'ensemble des modèles considérésLa régression linéaire ne considère que des combinaisons linéaires des caractéristiques
Biais de préférence (preference bias)Ordonne les modèles, en privilégie certainsID3 préfère les arbres peu profonds (moins complexes) aux grands arbres

Deux illustrations concrètes. La régression linéaire multivariable à descente de gradient applique un biais de restriction (n'envisager que les modèles produisant une prédiction par combinaison linéaire des caractéristiques) et un biais de préférence (l'ordre dans lequel elle explore l'espace des poids par descente de gradient). L'algorithme ID3 (Iterative Dichotomizer 3) restreint sa recherche aux arbres de décision où chaque branche enchaîne des tests sur les caractéristiques, et préfère les arbres plus courts aux arbres plus volumineux.

À retenir

Adopter un biais inductif est une condition nécessaire pour que l'apprentissage ait lieu. Sans biais, un algorithme ne peut rien apprendre au-delà de ce qui figure littéralement dans les données. En résumé, le machine learning s'appuie sur deux sources d'information pour guider sa recherche : le jeu d'entraînement et le biais inductif de l'algorithme.

Ce qui peut mal tourner : sous-apprentissage et sur-apprentissage

Puisque chaque algorithme encode un biais inductif, il peut induire des modèles qui généralisent — mais un biais inapproprié mène à l'erreur. Un résultat important, le théorème du « no free lunch » (Wolpert, 1996), établit qu'aucun biais inductif n'est en moyenne meilleur que les autres. Pire : on ne peut savoir d'avance lequel conviendra à une tâche donnée. Savoir choisir le bon algorithme — donc le bon biais — pour une tâche est l'une des compétences cardinales de l'analyste.

Un biais inadapté produit deux types d'erreurs symétriques. Le sous-apprentissage (underfitting) survient quand le modèle retenu est trop simpliste pour représenter la relation réelle entre descriptif et cible. Le sur-apprentissage (overfitting), à l'inverse, survient quand le modèle est trop complexe : il colle de si près aux données qu'il devient sensible au bruit qu'elles contiennent.

Pour comprendre, le livre prend un exemple à une seule caractéristique : prédire le revenu (INCOME) d'une personne d'après son âge (AGE).

IDAGEINCOME
12124 000
23248 000
36283 000
47261 000
58452 000

Trois modèles rivalisent pour relier l'âge au revenu : une droite trop rigide, une courbe trop tortueuse, et un juste milieu.

INCOME                          INCOME                          INCOME
  │      .                        │      . __                     │      . _
  │   __/                         │    _/   _  .                  │    _/  ‾·_  .
  │ _/  .       .                 │  _/  .     ‾_                 │  _/  .    ‾·_
  │/        .                     │ /        ·                   │ /        ·   ‾
  └──────────────► AGE            └──────────────► AGE            └──────────────► AGE
  SOUS-APPRENTISSAGE              SUR-APPRENTISSAGE                JUSTE ÉQUILIBRE
  (trop simple : rate            (trop complexe : épouse         (« modèle Boucle d'or » :
   la subtilité du lien)          le bruit point par point)        capte la tendance réelle)

La droite saisit grossièrement la tendance mais rate toute la subtilité de la relation : elle sous-apprend. La courbe sinueuse, bien que cohérente avec les cinq points, est manifestement plus compliquée que nécessaire : elle sur-apprend. Le troisième modèle est un modèle « Boucle d'or » (Goldilocks model) — ni trop ni trop peu, juste comme il faut.

Piège courant

Les modèles qui sous-apprennent et ceux qui sur-apprennent généralisent mal : ni les uns ni les autres ne feront de bonnes prédictions sur des requêtes nouvelles. Le sur-apprentissage est d'autant plus insidieux qu'il s'accompagne d'une cohérence parfaite sur le jeu d'entraînement — l'illusion d'un excellent modèle, qui s'effondre en production. Toute l'habileté du praticien consiste à trouver le point d'équilibre entre les deux, en choisissant un algorithme au biais inductif approprié.

Le cycle de vie d'un projet : CRISP-DM

Réussir un projet d'analyse prédictive demande bien plus que de choisir le bon algorithme. Comme tout projet d'envergure, ses chances de succès augmentent fortement si on l'encadre par un processus standard. Le plus répandu est CRISP-DM (Cross Industry Standard Process for Data Mining). Ses atouts : il est non propriétaire, neutre vis-à-vis de l'application, du secteur et des outils, et il considère explicitement le processus sous l'angle métier autant que technique. CRISP-DM définit six phases clés.

PhaseObjetLivrable / activité centrale
Compréhension métier (Business Understanding)Cerner le vrai problème de l'organisation (gagner des clients, vendre plus, gagner en efficacité)Concevoir une solution analytique pour ce problème
Compréhension des données (Data Understanding)Connaître les sources de données disponibles et les types qu'elles contiennentInventaire et exploration des sources
Préparation des données (Data Preparation)Convertir des sources disparates en une structure exploitableLa table analytique de base (analytics base table, ABT)
Modélisation (Modeling)Appliquer le machine learning proprement ditPlusieurs modèles candidats issus d'algorithmes variés
Évaluation (Evaluation)Prouver que le modèle est apte à l'usage prévuVérifier l'exactitude, l'absence de sur- ou sous-apprentissage
Déploiement (Deployment)Intégrer le modèle dans les processus de l'organisationMise en production opérationnelle

Le diagramme du cycle place les données au cœur du processus et souligne que les phases ne se suivent pas linéairement : certaines sont étroitement couplées et invitent à des allers-retours.

        ┌──────────────────┐      ┌──────────────────┐
        │ Compréhension    │◄────►│ Compréhension    │
        │ métier           │      │ des données      │
        └──────────────────┘      └────────┬─────────┘
                  ▲                         │
                  │              ┌──────────▼─────────┐
            ┌─────┴──────┐       │ Préparation        │
            │ Déploiement│       │ des données        │◄──┐
            └─────▲──────┘       └──────────┬─────────┘   │ itérations
                  │                         │             │
            ┌─────┴──────┐       ┌──────────▼─────────┐   │
            │ Évaluation │◄──────│ Modélisation       │───┘
            └────────────┘       └────────────────────┘
                         ( DONNÉES au centre )

Compréhension métier et compréhension des données forment un couple serré, parcouru en va-et-vient. De même, préparation des données et modélisation s'enchaînent en boucle. On entend souvent que 80 % de l'effort d'un projet se concentre sur les trois premières phases (métier, données, préparation), contre seulement 20 % sur la modélisation, l'évaluation et le déploiement — preuve que la valeur se joue bien avant le choix de l'algorithme.

Les outils

Le livre reste indépendant des outils : il décrit les techniques sans renvoyer à une implémentation particulière. Le premier choix de plateforme oppose les solutions applicatives (point-and-click) aux langages de programmation.

Solution applicativeLangage de programmation
ExemplesIBM SPSS, KNIME, RapidMiner, SAS Enterprise Miner, WekaR, Python
AtoutRapide : entraîner, évaluer et déployer en moins d'une heureFlexibilité totale ; accès anticipé aux techniques les plus récentes
LimiteOn reste borné à ce que les concepteurs ont prévuCourbe d'apprentissage raide, peu d'infrastructure fournie

KNIME, RapidMiner et Weka sont open source et gratuits. Côté langages, R et Python dominent l'analyse prédictive ; quelques lignes de R suffisent à charger des données, ajuster un modèle de régression logistique et produire des prédictions sur un jeu de test. Le langage offre une liberté qu'aucun outil clic-bouton n'égale, au prix d'un investissement d'apprentissage et d'un manque de support infrastructurel (gestion des données, par exemple) qu'il faut alors implémenter soi-même.

La route à venir

Le reste du livre se lit comme trois parties calquées sur CRISP-DM. La première (compréhension métier, des données, et préparation) explique comment traduire un problème métier en solution analytique et construire l'ABT. La deuxième couvre la modélisation à travers les quatre grandes familles d'algorithmes inductifs qui forment le cœur de l'ouvrage. La troisième traite évaluation et déploiement, complétée par des études de cas et une mise en perspective finale.

Famille d'apprentissagePrincipe directeurAlgorithme phare
Par l'information (information-based)Réduire l'incertitude par des tests sur les caractéristiquesArbres de décision (ID3)
Par la similarité (similarity-based)Classer comme les voisins les plus ressemblantsk plus proches voisins (k-NN)
Par la probabilité (probability-based)Raisonner sur la vraisemblance des hypothèsesBayes naïf
Par l'erreur (error-based)Ajuster des paramètres pour minimiser l'erreurRégression (descente de gradient)

Astuce

Le choix de l'algorithme n'est pas le seul levier de biais. Toutes les décisions du projet — quelles données utiliser, quelles caractéristiques retenir, comment déployer le modèle — biaisent le résultat global. L'analyste doit en rester pleinement conscient à chaque étape : la qualité d'un modèle se joue autant dans la préparation des données que dans la modélisation.

À retenir

  • L'analyse prédictive construit des modèles qui prédisent la valeur d'une variable inconnue à partir de données historiques ; « prédiction » s'entend au sens large (assigner une valeur), avec ou sans dimension temporelle, et sert d'intrant à une décision.
  • L'apprentissage supervisé apprend automatiquement la relation entre des caractéristiques descriptives et une caractéristique cible à partir d'instances étiquetées, en deux temps : apprentissage du modèle, puis prédiction sur de nouvelles instances.
  • Le machine learning est un problème mal posé : le jeu d'entraînement n'est qu'un échantillon, plusieurs modèles restent cohérents avec lui (6 561 → 27 dans l'exemple de la distribution) et se contredisent hors des données ; la seule cohérence revient à mémoriser.
  • Le but réel est la généralisation, rendue possible par le biais inductif — l'ensemble des hypothèses (biais de restriction et de préférence) qui guide le choix d'un modèle. Sans biais, aucun apprentissage n'est possible (théorème du « no free lunch »).
  • Un biais inadapté cause le sous-apprentissage (modèle trop simple) ou le sur-apprentissage (modèle trop complexe, collé au bruit) ; les deux généralisent mal, et tout l'art consiste à trouver le modèle « Boucle d'or ».
  • CRISP-DM structure le projet en six phases — compréhension métier, compréhension des données, préparation, modélisation, évaluation, déploiement — avec les données au centre et des allers-retours ; ~80 % de l'effort précède la modélisation.
  • La modélisation s'organise autour de quatre familles d'apprentissage : par l'information (arbres), par la similarité (k-NN), par la probabilité (Bayes), par l'erreur (régression).