Fundamentals of Machine Learning
Chapitre 3 / 10 · 23 min de lecture

L'exploration des données et la qualité

Le rapport de qualité des données, repérer valeurs manquantes, outliers et cardinalités douteuses, et préparer les données (normalisation, binning).

Une fois construite la table analytique de base (analytics base table, ABT) — cet ensemble d'instances décrites par des features descriptives (descriptive features) et une feature cible (target feature) —, il serait tentant de se précipiter sur l'algorithme. Ce serait une faute, au sens où l'entendait Roy Keane en exergue du chapitre : « rater sa préparation, c'est préparer son échec ». Avant de modéliser, il faut explorer la donnée. L'exploration (data exploration) chevauche les phases Data Understanding et Data Preparation de CRISP-DM, et poursuit deux objectifs précis : faire connaissance avec les données (comprendre les valeurs que prend chaque feature, leurs plages, leur distribution) et identifier les problèmes de qualité (data quality issues) qui pourraient dégrader nos modèles. L'outil maître de ce travail est le rapport de qualité des données (data quality report). Ce chapitre en décrit la structure, montre comment s'en servir pour connaître l'ABT et repérer ses défauts, puis détaille les stratégies pour les traiter et les techniques de préparation à appliquer avant la modélisation. Le fil rouge reste l'étude de cas de la fraude à l'assurance automobile (motor insurance fraud) introduite au chapitre précédent.

Le rapport de qualité des données

Le rapport de qualité des données est le pivot de l'exploration. Il se compose de deux tableaux — un pour les features continues, un pour les features catégorielles — qui décrivent chaque feature à l'aide de mesures statistiques standard de tendance centrale (central tendency) et de dispersion (variation), accompagnés de visualisations illustrant la distribution des valeurs.

Le tableau des features continues comporte, pour chaque feature, une ligne contenant le minimum, le 1er quartile, la moyenne (mean), la médiane (median), le 3e quartile, le maximum et l'écart-type (standard deviation), ainsi que le nombre total d'instances de l'ABT, le pourcentage de valeurs manquantes (% Miss.) et la cardinalité (cardinality, le nombre de valeurs distinctes présentes). Le tableau des features catégorielles contient pour chaque feature les deux niveaux les plus fréquents (le mode et le 2e mode) avec leurs fréquences brutes et relatives (mode %, 2e mode %), plus le pourcentage de valeurs manquantes et la cardinalité.

Statistique (features continues)Ce qu'elle révèle
min, 1er quartile, médiane, 3e quartile, maxl'étendue et la position des valeurs typiques
moyenne, écart-typetendance centrale et dispersion
% Miss.proportion d'instances sans valeur — signal de qualité
Card.nombre de valeurs distinctes — détecte les anomalies de type
Statistique (features catégorielles)Ce qu'elle révèle
mode, mode %le niveau dominant et son poids dans l'ABT
2e mode, 2e mode %le second niveau le plus fréquent
% Miss.proportion de valeurs manquantes
Card.nombre de niveaux dans le domaine

Le rapport inclut aussi un histogramme pour chaque feature continue (un diagramme en barres si la cardinalité est inférieure à 10, plus informatif dans ce cas) et un diagramme en barres pour chaque feature catégorielle. Pour l'ABT de la fraude automobile, ce rapport — tableaux plus visualisations — constitue le point de départ de toute l'analyse.

Note

Le rapport de qualité n'est qu'« une collection de statistiques descriptives simples et de visualisations », mais c'est un outil d'une puissance considérable : il offre une image complète de la donnée que l'on manipulera tout au long du projet. Au-delà de l'ABT, on l'emploie aussi pour explorer les sources brutes qui servent à la peupler.

Faire connaissance avec les données

Il faut étudier ce rapport en détail. Pour les features catégorielles, on regarde d'abord le mode, le 2e mode et leurs pourcentages : ils signalent les niveaux les plus communs et révèlent si un niveau domine l'ABT (mode % très élevé). Les diagrammes en barres donnent une vue d'ensemble de tous les niveaux du domaine et de leur fréquence. Pour les features continues, on examine moyenne et écart-type pour saisir tendance centrale et dispersion, puis minimum et maximum pour cerner l'étendue. L'histogramme, lui, montre d'un coup d'œil comment les valeurs se répartissent sur cette étendue.

Plusieurs formes d'histogrammes reviennent souvent ; elles correspondent à des distributions de probabilité (probability distributions) bien connues. Au stade de l'exploration, il suffit de reconnaître qu'une feature suit approximativement l'une d'elles — cette reconnaissance aidera plus tard lors de la modélisation.

Distributions usuelles repérables sur un histogramme

(a) Uniforme        (b) Normale         (c) Asymétrie droite
 ▆▆▆▆▆▆▆▆            ▁▃▆█▆▃▁              █▆▃▁▁▁▁▁▁  (long tail à droite)
 toutes plages      pic central         (right skew, ex. salaires)
 équiprobables      symétrique

(d) Asymétrie gauche (e) Exponentielle  (f) Multimodale (bimodale)
 ▁▁▁▁▁▁▃▆█            █▆▃▁▁▁▁            ▁▃█▃▁▃█▃▁
 (left skew)         valeurs basses     deux pics nets
                     très probables     (deux groupes)

La distribution uniforme (uniform) indique qu'une valeur est également probable dans chaque plage ; elle trahit parfois une feature qui contient un identifiant plutôt qu'une mesure intéressante. La distribution normale (normal, ou gaussienne) se caractérise par une forte tendance vers une valeur centrale et une variation symétrique de part et d'autre — elle est dite unimodale (un seul pic). Beaucoup de phénomènes naturels (tailles, poids d'un groupe d'individus) la suivent, et c'est une bonne nouvelle : nombre de techniques de modélisation fonctionnent particulièrement bien sur des données normales.

L'asymétrie (skew) est une tendance vers les très hautes valeurs (asymétrie droite, right skew — typique des salaires) ou les très basses (asymétrie gauche, left skew). Ces distributions ont de longues queues (long tails) vers les valeurs extrêmes. Dans une distribution exponentielle (exponential), les valeurs basses sont très probables mais leur probabilité chute rapidement pour les valeurs hautes ; le nombre de sinistres déclarés ou le nombre de mariages d'une personne suivent ce profil. Reconnaître une distribution exponentielle est un signal d'alerte clair : la présence d'outliers y est probable, car la longue queue rend les très hautes valeurs banales.

Enfin, une distribution multimodale présente deux plages de valeurs (ou plus) très fréquentes et nettement séparées. Une distribution bimodale — deux pics, « comme deux normales accolées » — apparaît quand une mesure est faite sur des groupes distincts (par exemple la taille d'un groupe d'Irlandais, hommes et femmes mêlés, avec un pic vers 1,635 m pour les femmes et un autre vers 1,775 m pour les hommes).

Piège courant

Une distribution multimodale appelle à la fois prudence et optimisme. Prudence, parce que les mesures de tendance centrale et de dispersion s'effondrent : la moyenne d'une bimodale tombe en plein creux entre les deux pics, là où presque aucune instance ne se trouve. Optimisme, parce que si l'on a de la chance, les pics correspondent aux différents niveaux de la cible à prédire — la taille séparerait alors nettement hommes et femmes.

La distribution normale

La normale mérite un détour, tant elle est centrale. Comme toute distribution standard, elle possède une fonction de densité de probabilité (probability density function) qui en définit la forme, paramétrée par la moyenne de population μ (mu) et l'écart-type de population σ (sigma). Le paramètre μ fixe la position du pic ; σ règle hauteur et pente : plus σ est grand, plus la courbe est basse et étalée. La normale de moyenne μ = 0 et d'écart-type σ = 1 est la normale standard (standard normal). La notation X est N(μ, σ) abrège « X suit une normale de moyenne μ et d'écart-type σ ».

Une propriété essentielle est la règle 68−95−99,7 :

Règle 68-95-99,7 (données normalement distribuées)

   μ-3σ   μ-2σ   μ-σ    μ     μ+σ   μ+2σ   μ+3σ
    |------|------|------|------|------|------|
           <----------- 68% ----------->
    <--------------- 95% -------------->
 <------------------- 99,7% ------------------->

Environ 68% des valeurs tombent à ±1σ de μ,
95% à ±2σ, 99,7% à ±3σ.

La leçon : dans des données normales, il est très improbable d'observer une valeur s'écartant de la moyenne de plus de deux écarts-types. C'est exactement ce qui fonde, plus loin, l'une des méthodes de détection et de traitement des outliers.

Étude de cas : la fraude automobile

Le rapport de qualité permet de se familiariser très vite avec l'ABT. Les diagrammes en barres rendent évidents les niveaux de chaque feature catégorielle : INJURY TYPE a quatre niveaux dont trois fréquents (broken limb, soft tissue, back) et un rare (serious), tandis que INSURANCE TYPE n'affiche qu'un seul niveau — étrange. Côté continu, toutes les features sauf INCOME et FRAUD FLAG suivent d'assez près une exponentielle. INCOME ressemble à une normale, sauf une grosse barre vers 0 ; FRAUD FLAG n'a pas du tout l'allure d'une feature continue. Ces anomalies seront élucidées au stade de l'identification des problèmes.

Identifier les problèmes de qualité

Un problème de qualité est, au sens large, « tout ce qui est inhabituel » dans l'ABT. Les trois plus courants sont les valeurs manquantes (missing values), la cardinalité irrégulière (irregular cardinality) et les valeurs aberrantes (outliers). Surtout, chaque problème relève de l'un de deux types :

  • Problème dû à une donnée invalide : il vient d'une erreur dans le processus de génération de l'ABT (souvent le calcul des features dérivées). On le corrige immédiatement, on régénère l'ABT et on recrée le rapport.
  • Problème dû à une donnée valide : il survient pour des raisons métier légitimes. On ne le corrige pas forcément ; on le consigne dans un plan de qualité des données (data quality plan) pour le traiter, si nécessaire, à la phase de modélisation — car certaines techniques l'exigent (les modèles par l'erreur ne tolèrent pas les valeurs manquantes, les modèles par la similarité souffrent des outliers).
Plan de qualité des données
FeatureProblème de qualitéStratégie de traitement envisagée

Valeurs manquantes

La colonne % Miss. identifie immédiatement les features touchées. Il faut d'abord comprendre pourquoi les valeurs manquent. Si c'est une erreur d'intégration ou de calcul d'un champ dérivé, il s'agit d'une donnée invalide : on corrige et on régénère. Mais les valeurs peuvent manquer pour des raisons légitimes — une donnée collectée seulement après une certaine date, une information personnelle sensible (salaire, âge, poids) saisie pour peu d'instances. Ce sont alors des données valides à consigner.

Astuce

Une règle empirique : si une feature a plus de 60 % de valeurs manquantes, l'information qu'elle porte est si pauvre qu'il vaut mieux la retirer purement et simplement de l'ABT.

Cardinalité irrégulière

La colonne Card. révèle quatre types d'anomalies. D'abord, une cardinalité de 1 : la feature prend la même valeur pour toute instance, ne porte aucune information, et doit être retirée (après vérification qu'il ne s'agit pas d'une erreur de génération). Ensuite, une feature catégorielle déguisée en continue : une feature continue a normalement une cardinalité proche du nombre d'instances ; une cardinalité anormalement basse signale un encodage numérique de catégories (par exemple le genre codé 1/0, cardinalité 2), à recoder en catégoriel. Attention toutefois : certaines features sont réellement continues mais à faible plage (le nombre d'enfants), et il n'y a alors rien à corriger.

Troisième cas, une feature catégorielle à cardinalité trop haute au regard de sa définition (un genre de cardinalité 6) : souvent plusieurs niveaux désignent la même chose (male, female, m, f, M, F) — donnée invalide, à corriger par une table de correspondance vers des niveaux standard. Dernier cas, une feature catégorielle au très grand nombre de niveaux (au-delà de 50, à investiguer) : c'est souvent légitime, mais certains algorithmes peinent avec ces hautes cardinalités — donnée valide, à consigner.

Les valeurs aberrantes (outliers)

Les outliers sont des valeurs très éloignées de la tendance centrale d'une feature. On distingue les outliers invalides — du bruit (noise) introduit par erreur, par exemple un analyste « aux gros doigts » (fat fingered) qui saisit 100000 au lieu de 1000 — et les outliers valides — des valeurs correctes mais exceptionnelles, comme le salaire d'un milliardaire.

Deux approches via le rapport. La première : examiner min et max et juger leur plausibilité avec la connaissance métier (un âge minimum de −12 saute aux yeux). Ces outliers sont probablement invalides : on les corrige, on les remplace par une valeur manquante, voire on supprime l'instance entière. La seconde : comparer les écarts entre médiane, quartiles et extrêmes. Si l'écart entre le 3e quartile et le maximum est nettement plus grand que celui entre la médiane et le 3e quartile, le maximum est suspect. Le raisonnement est symétrique côté bas : si l'écart entre le 1er quartile et le minimum est nettement plus grand que celui entre la médiane et le 1er quartile, c'est le minimum qui devient suspect.

Détection d'outlier par les écarts (deux comparaisons symétriques)

Côté haut (feature à queue droite) :
 min   Q1   médiane   Q3                          max
  |----|------|--------|--------------------------|
            écart                écart énorme  -> max suspect
       normal                    (Q3 -> max  >>  médiane -> Q3)

Côté bas (feature à queue gauche) :
 min                          Q1   médiane   Q3   max
  |--------------------------|--------|------|----|
       écart énorme  -> min suspect       écart
       (Q1 -> min  >>  médiane -> Q1)     normal

Les diagrammes en boîte (box plots) et les histogrammes exponentiels ou asymétriques signalent également la présence d'outliers. Ces outliers-là sont en général valides : on les consigne au plan de qualité.

Étude de cas : la fraude automobile

L'analyse de l'ABT de fraude illustre chaque cas. Valeurs manquantes : MARITAL STATUS dépasse 60 % de manquants (candidate à la suppression), NUM. SOFT TISSUE n'en a que 2 % (à consigner). Surprise : l'histogramme d'INCOME montre une masse de zéros détachée de la tendance centrale (vers 40 000), et un grand écart moyenne/médiane. Les données brutes révèlent que ces zéros coïncident toujours avec un MARITAL STATUS manquant. Le métier confirme que ces zéros représentent en fait des valeurs manquantes (les deux features étaient collectées ensemble) ; sans autre source pour les peupler, les deux features sont retirées.

Cardinalité irrégulière : INSURANCE TYPE a une cardinalité de 1 (toutes les instances valent ci, pour car insurance) — feature retirée. Plusieurs continues ont une cardinalité inférieure à 10 sur 500 instances : NUM. CLAIMANTS, NUM. CLAIMS, NUM. SOFT TISSUE sont en réalité catégorielles à faible plage (rien à corriger). Et FRAUD FLAG, de cardinalité 2, est une catégorielle codée 0/1 traitée à tort comme continue — recodage capital, car c'est la feature cible et son type conditionne toute l'approche de modélisation.

Outliers : CLAIM AMOUNT affiche un minimum de −99999, motif typique d'une erreur de saisie ou d'une valeur par défaut système — traité en outlier invalide, remplacé par une valeur manquante. TOTAL CLAIMED et NUM. CLAIMS culminent à cause de l'instance d460, un assuré aux innombrables sinistres : enquête faite, il s'agit d'une police d'entreprise glissée par erreur dans l'ABT — l'instance entière est supprimée. Enfin les maximums de CLAIM AMOUNT et AMOUNT RECEIVED viennent de d302, un sinistre réel et exceptionnellement élevé : outlier valide, à consigner.

Plan de qualité — fraude automobile
FeatureProblèmeStratégie envisagée
NUM. SOFT TISSUEValeurs manquantes (2 %)
CLAIM AMOUNTOutliers (hauts)
AMOUNT RECEIVEDOutliers (hauts)

Traiter les problèmes de qualité

On retarde en général le traitement du bruit jusqu'à la modélisation — chaque type de modèle exige un niveau différent de nettoyage, et le principe est d'en faire le moins possible. Mais il est judicieux de noter dès l'exploration la meilleure stratégie envisagée pour chaque problème.

Traiter les valeurs manquantes

Plusieurs stratégies, par ordre croissant de finesse :

TechniquePrincipeQuand l'utiliser
Suppression de la featureretirer la feature entièreseulement si > 60 % de manquants
Indicateur de manquant (missing indicator)feature binaire signalant présence/absence ; l'originale est jetéequand le fait de manquer porte de l'information liée à la cible
Analyse des cas complets (complete case analysis)supprimer toute instance ayant un manquantà réserver aux instances dont la cible est manquante
Imputation (imputation)remplacer par une estimation plausiblecas le plus courant, faible taux de manquants

L'imputation remplace les manquants par une mesure de tendance centrale : moyenne ou médiane pour une continue, mode pour une catégorielle. Mais on l'évite si le taux de manquants est élevé, car imputer beaucoup de valeurs déforme la tendance centrale : on est réticent au-delà de 30 % et fortement opposé au-delà de 50 %. Des approches plus sophistiquées existent (entraîner un modèle qui prédit la valeur manquante), mais le conseil reste de commencer simple. Toute imputation modifie la donnée sous-jacente et tend à sous-estimer la variance, ce qui peut biaiser la relation entre feature descriptive et cible. À noter : toute instance dont la cible est manquante doit toujours être retirée.

Attention

L'analyse des cas complets paraît commode, mais elle peut entraîner une perte de données massive et introduire un biais si les valeurs manquantes ne sont pas réparties de façon parfaitement aléatoire. On la réserve donc à la suppression des instances dont la valeur cible manque.

Traiter les outliers

La méthode la plus simple est la transformation par bornage (clamp transformation) : toute valeur au-dessus d'un seuil supérieur (upper) ou en dessous d'un seuil inférieur (lower) est ramenée au seuil.

Transformation par bornage (clamp)

clamp(a_i) = lower   si a_i < lower
           = upper   si a_i > upper
           = a_i     sinon

Comment fixer les seuils ? Manuellement (connaissance métier), ou par calcul. Deux formules classiques :

Méthode 1 (par les quartiles, robuste) :
  lower = Q1 - 1,5 × IQR
  upper = Q3 + 1,5 × IQR        (IQR = écart interquartile, Q3 - Q1)

Méthode 2 (par moyenne/écart-type, suppose la normalité) :
  lower = moyenne - 2 × écart-type
  upper = moyenne + 2 × écart-type

Pour CLAIM AMOUNT, la méthode 1 donne lower = 3322,3 − 1,5 × 8923,2 = −10062,5 et upper = 12245,5 + 1,5 × 8923,2 = 25630,3. Pour AMOUNT RECEIVED, la méthode 2 donne lower = 13051,9 − 2 × 30547,2 = −48042,5 et upper = 13051,9 + 2 × 30547,2 = 74146,3. La seconde méthode dérive directement de la règle 68−95−99,7 : au-delà de deux écarts-types, on est dans les 5 % de queue. On peut réduire l'impact du bornage en augmentant le multiplicateur (de 1,5 ou 2 vers une valeur plus grande).

À retenir

Les avis divergent fortement sur l'opportunité du bornage. Certains objectent qu'il supprime les instances les plus intéressantes — précisément les plus informatives pour la prédiction. D'autres rappellent que certaines techniques se comportent mal en présence d'outliers. La recommandation : n'appliquer le bornage que si l'on soupçonne qu'un modèle souffre des outliers, et évaluer empiriquement son effet en comparant des modèles entraînés avec et sans la transformation.

Étude de cas et plan finalisé

Pour NUM. SOFT TISSUE, l'imputation s'impose (seulement 2 % de manquants) : on choisit la médiane 0,0 plutôt que la moyenne 0,2, car cette feature ne prend que des valeurs discrètes et 0,2 n'apparaît jamais naturellement. Pour CLAIM AMOUNT et AMOUNT RECEIVED, tous deux à peu près exponentiels, les deux méthodes de calcul de seuils (conçues pour des données normales) conviennent mal ; le métier conseille un bornage manuel à [0 ; 80000]. Le plan de qualité est ainsi complété — il forme, avec le rapport, la production de l'exploration.

Plan de qualité finalisé
FeatureProblèmeStratégie
NUM. SOFT TISSUEValeurs manquantes (2 %)Imputation (médiane : 0,0)
CLAIM AMOUNTOutliers (hauts)Bornage manuel (0 ; 80 000)
AMOUNT RECEIVEDOutliers (hauts)Bornage manuel (0 ; 80 000)

Exploration avancée : relations entre features

Jusqu'ici, tout portait sur des features isolées. Il est aussi très utile d'examiner les relations par paires : cela indique quelles features descriptives pourraient prédire la cible, et identifie les paires fortement liées — auquel cas on pourra n'en garder qu'une pour réduire la taille de l'ABT. Pour l'illustrer, le livre introduit un jeu de données de trente joueurs d'une équipe professionnelle de basket (features HEIGHT, WEIGHT, AGE, POSITION, CAREER STAGE, SPONSORSHIP EARNINGS, SHOE SPONSOR).

Visualiser les relations

Le nuage de points (scatter plot) place une instance par point selon ses valeurs sur deux features. Un nuage diagonal et resserré traduit une relation linéaire : HEIGHT et WEIGHT sont fortement covariantes positivement (la taille monte avec le poids) ; SPONSORSHIP EARNINGS et AGE sont fortement covariantes négativement ; HEIGHT et AGE ne le sont guère. La matrice de nuages de points (scatter plot matrix, SPLOM) arrange ces nuages pour tout un ensemble de features — efficace jusqu'à environ 8 features, au-delà les graphiques deviennent trop petits.

Pour deux features catégorielles, on emploie une visualisation en petits multiples (small multiples) : un diagramme en barres global, puis un par niveau de la seconde feature. Si les profils diffèrent nettement, il existe une relation (les joueurs en position guard ont bien plus souvent un SHOE SPONSOR) ; s'ils se ressemblent, il n'y en a pas (CAREER STAGE est indépendant de SHOE SPONSOR). Les diagrammes en barres empilés à 100 % offrent une alternative quand l'une des features a peu de niveaux. Pour une paire catégorielle/continue, on dessine un histogramme de densité de la continue par niveau de la catégorielle, ou une série de box plots : HEIGHT sépare nettement les positions (les center plus grands que les forward, eux-mêmes plus grands que les guard), alors qu'AGE les distingue à peine.

Covariance et corrélation

On peut mesurer formellement la relation entre deux features continues. La covariance (covariance) entre deux features a et b sur n instances :

cov(a, b) = ( Σ (a_i - moyenne_a) × (b_i - moyenne_b) ) ÷ (n - 1)

Plage : [-∞, +∞]
  > 0  relation positive
  < 0  relation négative
  ≈ 0  peu ou pas de relation

Le défaut de la covariance : elle s'exprime dans les unités des features, ce qui interdit de comparer des paires hétérogènes. La corrélation (correlation) est sa version normalisée, sans dimension, obtenue en divisant la covariance par le produit des écarts-types :

corr(a, b) = cov(a, b) ÷ ( sd(a) × sd(b) )

Plage : [-1, +1]
  proche de +1  corrélation positive très forte
  proche de -1  corrélation négative très forte
  proche de  0  pas de corrélation -> features indépendantes

Pour les joueurs, HEIGHT/WEIGHT montre une corrélation positive forte, HEIGHT/AGE presque nulle. On rassemble ces mesures dans la matrice de covariance (notée Σ, dont la diagonale donne la variance de chaque feature) et la matrice de corrélation (sa version normalisée). Un SPLOM enrichi des coefficients de corrélation au-dessus de la diagonale n'est rien d'autre qu'une visualisation de la matrice de corrélation.

La corrélation est précieuse mais imparfaite. D'abord, elle ne répond qu'aux relations linéaires : une forte relation non linéaire peut passer inaperçue. Ensuite, des particularités du jeu de données peuvent fausser le calcul — c'est la leçon du célèbre quartet d'Anscombe (Anscombe's quartet), quatre paires de features de corrélation identique (0,816) mais aux relations radicalement différentes.

Attention

Corrélation n'implique pas causalité. Deux pièges classiques. Le premier : se tromper de sens (les hirondelles ne causent pas le beau temps, elles le suivent ; jouer au basket ne rend pas grand, les grands choisissent le basket). Le second : ignorer une feature confondante (confounding feature) cachée. L'exemple fameux d'une étude de Nature liant veilleuses la nuit et myopie infantile s'explique en réalité par les parents myopes — qui usent davantage de veilleuses et ont des enfants plus souvent myopes. Avant de conclure à une causalité, il faut des études approfondies avec des experts du domaine.

Préparer les données

Certaines techniques de préparation ne corrigent pas un défaut, mais changent la représentation des données pour les rendre compatibles avec un algorithme. Trois familles : la normalisation, le binning et l'échantillonnage.

Normalisation

Quand des features continues couvrent des plages très différentes (âges dans [16 ; 96], salaires dans [10000 ; 100000]), certains algorithmes peinent. La normalisation (normalization) ramène une feature dans une plage donnée tout en préservant les écarts relatifs. La plus simple est la normalisation par plage (range normalization, min-max), un redimensionnement linéaire :

Normalisation min-max vers [low, high] :

a'_i = ( (a_i - min(a)) ÷ (max(a) - min(a)) ) × (high - low) + low

Plages typiques : [0, 1] ou [-1, 1]

Son défaut : elle est sensible aux outliers (le min et le max la pilotent). L'alternative est la standardisation (standardization) en scores standard (standard scores, ou z-scores), qui mesurent à combien d'écarts-types de la moyenne se situe une valeur :

Standardisation (z-score) :

a'_i = (a_i - moyenne_a) ÷ sd(a)

Résultat : moyenne 0, écart-type 1
(la majorité des valeurs tombent dans [-1, 1])

La standardisation suppose la normalité des données ; si l'hypothèse ne tient pas, elle peut introduire des distorsions. Comme souvent en analytics, il n'y a pas de règle absolue : le choix entre min-max et standardisation se fait par expérimentation.

Binning

Le binning convertit une feature continue en catégorielle, en découpant son étendue en plages (les bins) qui deviennent les niveaux. Tout l'enjeu est le nombre de bins : trop peu (2-3) abstrait à une résolution si basse qu'on perd l'information sur la distribution (mais chaque bin contient beaucoup d'instances) ; trop (10 et plus) épouse mieux la distribution mais raréfie les instances par bin, jusqu'aux bins vides. Aucune méthode ne garantit le nombre optimal : intuition et essais-erreurs.

Deux approches dominent :

Binning à largeur égale (equal-width)Binning à fréquence égale (equal-frequency)
Principeb bins de même largeur = étendue ÷ bb bins contenant autant d'instances chacun
Constructiondécouper l'intervalle en parts égalestrier les valeurs, puis répartir n ÷ b instances par bin
Forcesimple, intuitifbins équilibrés, même sur distribution non uniforme
Faiblessebins quasi vides aux queues d'une normalebins de largeurs variables, moins intuitifs

Avec un découpage [0 ; 100] en 10 bins à largeur égale, le bin 1 couvre [0, 10), le bin 2 [10, 20), etc. ; une valeur de 18 tombe dans le bin 2 (le crochet [ inclut la borne, la parenthèse ) l'exclut). Sur une distribution normale, la largeur égale gaspille des bins aux queues (très peu d'instances) et en manque près de la moyenne ; la fréquence égale corrige cela en variant la largeur pour mieux modéliser les zones denses.

Astuce

Le binning à fréquence égale gère partiellement les outliers : les valeurs extrêmes atterrissent simplement dans le bin le plus haut ou le plus bas. Mais quelle que soit la méthode, le binning détruit toujours de l'information, puisqu'il passe d'une représentation continue à une résolution catégorielle plus grossière.

Échantillonnage

Quand l'ABT est trop volumineuse, on en échantillonne (sampling) un sous-ensemble — en veillant à rester représentatif et à ne pas introduire de biais (un biais apparaît quand les distributions de l'échantillon diffèrent de celles de l'original).

MéthodePrincipeUsage
Top samplingprendre les s % premières instancesà éviter : sensible à l'ordre du jeu, fort risque de biais
Échantillonnage aléatoire (random)tirer s % au hasard (sans remise)choix par défaut, évite le biais
Échantillonnage stratifié (stratified)tirer s % dans chaque strate d'un niveaupréserve les fréquences relatives d'une feature
Sous-échantillonnage (under-sampling)aligner tous les groupes sur le plus petitégaliser les niveaux (réduit la taille)
Sur-échantillonnage (over-sampling)aligner tous les groupes sur le plus grand, avec remiseégaliser les niveaux (augmente la taille)

L'échantillonnage stratifié garantit que les fréquences relatives d'une feature de stratification sont conservées : on divise en strates (une par niveau), on tire s % dans chacune, puis on combine — chaque strate étant échantillonnée au prorata. À l'inverse, quand on veut changer les fréquences (par exemple représenter les niveaux à parts égales), le sous-échantillonnage rabote les grands groupes à la taille du plus petit, tandis que le sur-échantillonnage gonfle les petits groupes via un tirage avec remise (with replacement) — une même instance pouvant alors apparaître plusieurs fois. Ces techniques servent à réduire l'ABT, à modifier la distribution de la cible, ou à découper l'ABT en parts d'entraînement et d'évaluation.

Note

Toute préparation modifie la donnée qui servira à entraîner les modèles. Si l'on en change trop, les modèles déployés colleront mal aux sources réelles ; trop peu, et l'algorithme peinera. C'est un équilibre délicat, que seules de bonnes expériences d'évaluation permettent de trouver. Détail crucial pour le déploiement : on doit sauvegarder chaque transformation appliquée (généralement dans le plan de qualité) afin de la rejouer à l'identique sur les nouvelles données — un oubli fréquent qui provoque d'étranges performances en production.

À retenir

  • Le rapport de qualité des données est l'outil maître de l'exploration : deux tableaux (continues / catégorielles) de tendance centrale et de dispersion, plus des histogrammes et diagrammes en barres, pour connaître l'ABT et repérer ses défauts.
  • Reconnaître la forme de la distribution (uniforme, normale, asymétrique, exponentielle, multimodale) oriente la modélisation ; l'exponentielle et l'asymétrie annoncent des outliers, et la multimodale fait s'effondrer moyenne et écart-type.
  • Trois problèmes de qualité : valeurs manquantes, cardinalité irrégulière, outliers — chacun invalide (corriger et régénérer) ou valide (consigner au plan de qualité pour traitement ultérieur).
  • On traite les manquants par imputation (médiane/moyenne/mode, à éviter au-delà de 30-50 %) et les outliers par bornage (clamp), avec des seuils manuels ou calculés (Q ± 1,5 × IQR, ou moyenne ± 2σ) — toujours en faire le moins possible.
  • Corrélation = covariance normalisée dans [-1, 1] ; précieuse mais aveugle aux relations non linéaires (quartet d'Anscombe) et jamais synonyme de causalité (gare aux features confondantes).
  • La préparation change la représentation : normalisation (min-max sensible aux outliers, ou standardisation z-score qui suppose la normalité) et binning (largeur égale, simple ; fréquence égale, équilibré et tolérant aux outliers) — le binning détruit toujours de l'information.
  • L'échantillonnage réduit l'ABT ou rééquilibre la cible (aléatoire par défaut, stratifié pour préserver les fréquences, sous/sur-échantillonnage pour les égaliser) ; toute transformation doit être sauvegardée pour être rejouée au déploiement.