Objectif de ce chapitre : transformer des données brutes, imparfaites et hétérogènes en un jeu de données propre, exploitable et informatif pour les algorithmes de Machine Learning.

En pratique, la préparation des données représente 70 à 80 % du temps d’un projet Data Science. C’est une étape décisive : un bon modèle sur de mauvaises données donnera systématiquement de mauvais résultats.


Analyse Exploratoire (EDA)

L’Analyse Exploratoire des Données (Exploratory Data Analysis — EDA) est la première étape après la collecte. Elle vise à comprendre la structure, les distributions et les relations présentes dans les données avant toute modélisation.

L’EDA ne consiste pas à appliquer mécaniquement des fonctions : c’est un dialogue entre le Data Scientist et les données, guidé par des questions métier. Pourquoi certaines valeurs semblent-elles extrêmes ? Les classes sont-elles équilibrées ? Les variables sont-elles corrélées entre elles ?

Statistiques descriptives

Les statistiques descriptives donnent un premier aperçu synthétique du jeu de données. Elles se lisent en deux temps : d’abord la structure, puis les indicateurs numériques.

Structure générale

Avant tout calcul, il convient d’inspecter la forme brute du jeu de données :

  • Dimensions : nombre de lignes (observations) et de colonnes (variables)
  • Types de variables : numériques, catégorielles, dates, textes libres
  • Valeurs manquantes : combien, où, selon quel mécanisme
  • Doublons : lignes identiques à identifier et supprimer

Cette inspection révèle souvent des problèmes invisibles à l’œil nu : colonnes mal typées, identifiants encodés comme numériques, variables textuelles contenant des valeurs numériques.

Résumé statistique

Pour chaque variable numérique, les indicateurs fondamentaux sont les suivants :

Lecture d’un résumé statistique
Indicateur Ce qu’il révèle
Moyenne (mean) Tendance centrale ; sensible aux valeurs extrêmes
Médiane (50%) Tendance centrale robuste ; un écart mean/médiane signale une asymétrie
Écart-type (std) Dispersion ; grande valeur → variable très étalée
Min / Max Plage de valeurs ; révèle des outliers potentiels
Q1 (25%) / Q3 (75%) Distribution interquartile, robuste aux extrêmes

La comparaison systématique de la moyenne et de la médiane est l’un des premiers réflexes à acquérir : un écart important entre les deux signale une distribution asymétrique, ce qui oriente les choix de prétraitement.

Indicateurs de forme de distribution

Au-delà de la tendance centrale et de la dispersion, deux indicateurs caractérisent la forme d’une distribution :

La skewness (asymétrie) mesure le degré d’asymétrie d’une distribution autour de sa moyenne. Une skewness nulle indique une distribution symétrique (comme la loi normale). Une valeur positive indique une queue étirée vers la droite (revenus, prix immobiliers), une valeur négative une queue vers la gauche.

Le kurtosis (aplatissement) mesure la “lourdeur” des queues de distribution. Une kurtosis élevée (> 3) indique des queues plus épaisses que la loi normale, c’est-à-dire un risque accru de valeurs extrêmes.

NoteRègles pratiques
  • |Skewness| > 1 → distribution fortement asymétrique → transformation recommandée (log, racine carrée)
  • Kurtosis > 3 → queues lourdes → valeurs extrêmes fréquentes → vigilance sur les outliers

Visualisation des données

La visualisation est indispensable pour détecter ce que les statistiques seules ne révèlent pas. Le célèbre quartet d’Anscombe (1973) illustre parfaitement ce point : quatre jeux de données ont exactement les mêmes statistiques descriptives (moyenne, variance, corrélation) mais des distributions visuellement complètement différentes.

Distribution des variables

L’histogramme est le premier graphique à produire pour chaque variable numérique. Il révèle :

  • La forme de la distribution (unimodale, bimodale, asymétrique)
  • La présence de valeurs aberrantes (queues très étirées)
  • Les différences de distribution entre classes (en superposant les histogrammes par classe cible)

Une distribution bimodale (deux pics) est souvent le signe que la variable contient des sous-populations distinctes — une information précieuse pour la modélisation.

Boxplots comparatifs

Le boxplot (boîte à moustaches) résume en un seul graphique cinq statistiques : minimum, Q1, médiane, Q3, maximum. Les points au-delà des moustaches (généralement \(\pm 1{,}5 \times IQR\)) sont représentés individuellement et constituent des candidats outliers.

En comparant les boxplots par classe cible, on visualise rapidement le pouvoir discriminant de chaque variable : une variable dont les médianes sont bien séparées entre classes sera probablement informative pour la prédiction.

Pairplot (nuage de points croisés)

Le pairplot (ou scatter matrix) affiche tous les nuages de points entre paires de variables. C’est un outil puissant pour détecter :

  • Les relations linéaires entre variables (collinéarité)
  • Les structures non linéaires (arcs, clusters)
  • La séparabilité des classes dans différents sous-espaces de features

Il devient illisible au-delà d’une dizaine de variables — on le restreint alors aux variables les plus prometteuses, identifiées par les scores de corrélation.


Analyse des corrélations

Matrice de corrélation

La matrice de corrélation de Pearson quantifie les relations linéaires entre toutes les paires de variables numériques. Ses valeurs sont comprises entre \(-1\) (corrélation négative parfaite) et \(+1\) (corrélation positive parfaite), avec \(0\) indiquant l’absence de relation linéaire.

Elle est représentée sous forme de heatmap (carte de chaleur), généralement en triangle inférieur pour éviter la redondance. On y cherche :

  • Des blocs de variables fortement corrélées entre elles (> 0,85) : signe de multicolinéarité, problématique pour les modèles linéaires et les arbres peu profonds
  • Des variables fortement corrélées avec la cible : candidates naturelles à conserver en priorité

Corrélation avec la variable cible

En classification ou régression supervisée, le calcul de la corrélation de chaque feature avec la variable cible donne un premier classement rapide des variables les plus informatives. Ce classement est imparfait — il ne capte que les relations linéaires — mais il oriente efficacement l’exploration.

TipÀ retenir
  • Corrélations élevées entre features (> 0,85) → multicolinéarité → envisager une réduction de dimension ou une sélection de variables
  • Corrélations élevées avec la cible → variables potentiellement très informatives
  • Pearson ne capte que les relations linéaires → compléter avec Spearman (rangs) ou l’information mutuelle pour les relations non linéaires

Prétraitement

Le prétraitement transforme les données brutes pour les rendre exploitables par les algorithmes ML. Il se compose de quatre grandes familles d’opérations : traitement des valeurs manquantes, gestion des outliers, normalisation et standardisation.

Valeurs manquantes

Les valeurs manquantes sont la règle, non l’exception, dans les données réelles. Avant de les traiter, il faut comprendre pourquoi elles sont manquantes.

Mécanismes de manque

On distingue trois mécanismes fondamentaux, qui orientent le choix du traitement :

Mécanismes de manque et traitements associés
Mécanisme Description Traitement
MCAR (Missing Completely At Random) Le manque est indépendant de toute variable Imputation simple ou suppression sans biais
MAR (Missing At Random) Le manque dépend d’autres variables observées Imputation conditionnelle (KNN, modèle)
MNAR (Missing Not At Random) Le manque dépend de la valeur manquante elle-même Créer une variable indicatrice + imputer

Un exemple classique de MNAR : dans une enquête de santé, les personnes les plus malades sont souvent celles qui ne répondent pas aux questions sur leur état de santé. Supprimer ces lignes ou imputer naïvement introduirait un biais systématique.

Stratégies d’imputation

Stratégies d’imputation selon le contexte
Situation Stratégie recommandée
< 5% manquants, distribution symétrique Moyenne
< 5% manquants, distribution asymétrique Médiane
< 5% manquants, variable catégorielle Mode
5–30% manquants KNN Imputer ou imputation par modèle
> 30% manquants Envisager de supprimer la variable
Données temporelles Interpolation (forward fill / backward fill)
MNAR Créer une variable binaire indicatrice de manque

L’imputation par KNN (K-Nearest Neighbors) remplace chaque valeur manquante par la moyenne pondérée des \(k\) observations les plus proches dans l’espace des autres variables. Elle est plus précise que la médiane mais plus coûteuse en calcul.

WarningRègle fondamentale : pas de data leakage

Toujours ajuster (fit) l’imputeur sur le jeu d’entraînement uniquement, puis appliquer (transform) sur le jeu de test avec les paramètres appris. Calculer la médiane ou entraîner le KNN sur l’ensemble du dataset revient à faire “fuiter” de l’information du test vers le train.


Outliers

Un outlier (valeur aberrante) est une observation qui s’écarte significativement du comportement général des données. Il peut s’agir d’une erreur de saisie, d’un problème de capteur, ou d’un phénomène réel rare (fraude, panne, événement exceptionnel).

Méthodes de détection

Z-score : une observation est déclarée outlier si \(|z| > 3\), où \(z = (x - \mu) / \sigma\). Simple et rapide, mais sensible aux distributions non gaussiennes — un outlier extrême “attire” la moyenne et gonfle l’écart-type, masquant d’autres anomalies.

Règle de Tukey (IQR) : une observation est outlier si elle est en dehors de l’intervalle \([Q1 - 1{,}5 \times IQR,\ Q3 + 1{,}5 \times IQR]\). Plus robuste que le Z-score car basée sur les quantiles, non affectée par les valeurs extrêmes elles-mêmes.

Isolation Forest : algorithme d’apprentissage non supervisé qui isole les anomalies en construisant des arbres de décision aléatoires. Les observations difficiles à isoler (nécessitant beaucoup de coupures) sont considérées comme normales ; celles faciles à isoler (peu de coupures) sont des anomalies. Particulièrement efficace en haute dimension.

Stratégies de traitement

Stratégies de traitement des outliers
Traitement Quand l’utiliser Risque
Suppression Outlier clairement erroné (erreur de saisie) Perte d’information, biais si non-MCAR
Winsorisation Distribution avec queues épaisses Introduit un biais vers les percentiles choisis
Transformation log / racine carrée Distribution très asymétrique à droite Interprétabilité réduite des coefficients
Modèle robuste Algorithme sensible aux extrêmes (régression) Complexité accrue
Conserver Outlier réel et informatif (fraude, panne) Aucun — c’est souvent le bon choix

La règle d’or : comprendre avant d’agir. Un outlier supprimé trop vite peut être le signal le plus important du jeu de données.


Normalisation

La normalisation (ou mise à l’échelle Min-Max) ramène toutes les valeurs d’une variable dans un intervalle fixe, généralement \([0, 1]\) :

\[x_{\text{norm}} = \frac{x - x_{\min}}{x_{\max} - x_{\min}}\]

Elle garantit que toutes les variables contribuent à égalité dans les algorithmes sensibles aux échelles, comme le KNN (qui calcule des distances) ou les réseaux de neurones (où les gradients sont sensibles aux amplitudes).

Limite principale : l’intervalle \([0, 1]\) est entièrement dicté par les valeurs minimale et maximale. Un seul outlier extrême peut comprimer toute la distribution dans une plage très étroite, rendant la normalisation inefficace.


Standardisation

La standardisation (Z-score) centre et réduit les variables pour obtenir une moyenne nulle et un écart-type unitaire :

\[x_{\text{std}} = \frac{x - \mu}{\sigma}\]

Contrairement à la normalisation, elle ne contraint pas les valeurs dans un intervalle fixe. La distribution standardisée conserve sa forme originale, simplement recentrée et réduite.

Normalisation vs. Standardisation : quand choisir ?

Normalisation vs. Standardisation
Critère Normalisation (Min-Max) Standardisation (Z-score)
Plage de sortie \([0, 1]\) fixe Illimitée (centrée sur 0)
Sensibilité aux outliers ⚠️ Très sensible ✅ Plus robuste
Algorithmes adaptés KNN, réseaux de neurones, SVM Régression linéaire, PCA, LDA
Distribution requise Aucune Aucune (mieux avec gaussienne)
Interprétabilité Intuitive (proportion) Moins intuitive (écarts-types)

En pratique, la standardisation est le choix par défaut dans la plupart des projets ML, sauf si l’algorithme requiert explicitement des valeurs dans \([0, 1]\) (réseaux de neurones avec activation sigmoïde, certains algorithmes à distance).


Feature Engineering

Le Feature Engineering consiste à créer, transformer et sélectionner les variables pour maximiser la capacité prédictive du modèle. C’est une discipline autant qu’une technique : elle mobilise la connaissance du domaine métier, l’intuition statistique et la créativité analytique.

“Coming up with features is difficult, time-consuming, requires expert knowledge. Applied machine learning is basically feature engineering.”
— Andrew Ng

Création de variables

De nouvelles variables peuvent révéler des patterns invisibles dans les données brutes. On distingue plusieurs familles de transformations :

Ratios et interactions : combiner deux variables par division ou multiplication crée des indicateurs composites souvent plus informatifs que les variables prises séparément. Par exemple, diviser le périmètre au carré par l’aire donne un indice de compacité géométrique.

Transformations non linéaires : appliquer \(\log(1 + x)\), \(\sqrt{x}\), ou \(x^2\) à une variable peut linéariser une relation initialement courbe avec la cible, améliorant les performances des modèles linéaires.

Variables décalées (lags) : en données temporelles, la valeur d’une variable à \(t-1\), \(t-7\) ou \(t-30\) est souvent plus prédictive que la valeur courante (prévision de ventes, séries financières).

Agrégations : calculer des statistiques (moyenne, écart-type, max) sur des fenêtres temporelles ou des groupes d’observations (par client, par région) crée des features contextuelles très puissantes.

TipPrincipe directeur

Le feature engineering est guidé par la connaissance du domaine. Un Data Scientist qui comprend le secteur (finance, santé, industrie) saura créer des variables pertinentes bien avant qu’un algorithme automatique ne les découvre.


Encodage des variables catégorielles

Les algorithmes ML nécessitent des entrées numériques. Les variables catégorielles doivent impérativement être encodées avant modélisation.

Label Encoding

Chaque modalité est remplacée par un entier : Faible → 0, Moyen → 1, Élevé → 2. Cette approche impose un ordre entre les modalités. Elle est donc strictement réservée aux variables ordinales (où un ordre naturel existe). L’appliquer à une variable nominale (couleur, région) ferait croire à l’algorithme que “Rouge > Bleu”, ce qui est absurde.

One-Hot Encoding (OHE)

Chaque modalité devient une colonne binaire (0 ou 1). Pour une variable avec \(k\) modalités, on crée \(k-1\) colonnes (on en supprime une pour éviter la colinéarité parfaite, appelée dummy variable trap).

C’est la méthode de référence pour les variables nominales avec peu de modalités (< 10–15). Au-delà, elle génère trop de colonnes (curse of dimensionality) et des matrices creuses inefficaces.

Target Encoding

Chaque modalité est remplacée par la moyenne de la variable cible pour cette modalité. Par exemple, si les clients de la région “Nord” ont un taux de churn moyen de 0,35, toutes les observations “Nord” reçoivent la valeur 0,35.

Compact et informatif, le target encoding est particulièrement adapté aux variables à haute cardinalité (centaines ou milliers de modalités). Son principal danger est le data leakage : si on calcule la moyenne cible sur l’ensemble du dataset (train + test), on introduit de l’information du futur dans le modèle. Il doit donc être calculé uniquement sur les données d’entraînement, idéalement au sein d’une validation croisée.

Méthodes d’encodage des variables catégorielles
Méthode Usage Avantages Inconvénients
Label Encoding Variables ordinales Simple, compact Ordre artificiel sur nominales
One-Hot Encoding Variables nominales (< 10–15 modalités) Aucune hypothèse d’ordre Explosion dimensionnelle
Target Encoding Variables nominales (> 15 modalités) Compact et informatif Risque de leakage
Binary Encoding Nombreuses modalités Compromis OHE / Label Moins intuitif
Embeddings Très haute cardinalité (NLP, IDs utilisateurs) Capture la sémantique Nécessite beaucoup de données

Sélection de variables

Trop de variables nuit à la performance : bruit accru, overfitting, temps de calcul élevé, modèle moins interprétable. La sélection de variables vise à ne conserver que les features les plus informatives et non redondantes.

On distingue trois grandes familles de méthodes.

Méthodes Filter

Les méthodes filter évaluent chaque variable indépendamment du modèle final, à l’aide d’un score statistique. Elles sont rapides et peu coûteuses.

ANOVA F-score : teste si la moyenne d’une variable numérique diffère significativement entre les classes. Un F-score élevé indique un bon pouvoir discriminant. Suppose une relation linéaire.

Information Mutuelle (MI) : mesure la dépendance statistique entre une variable et la cible, quelle que soit la nature de la relation (linéaire ou non linéaire). Plus générale que le F-score mais plus coûteuse à calculer.

Corrélation de Pearson / Spearman : simple et rapide, mais ne capte que les relations linéaires (Pearson) ou monotones (Spearman).

Méthodes Wrapper

Les méthodes wrapper évaluent des sous-ensembles de variables en entraînant réellement un modèle sur chacun. Elles sont plus précises mais coûteuses en calcul.

Recursive Feature Elimination (RFE) : entraîne un modèle sur toutes les variables, supprime la moins importante, recommence jusqu’à atteindre le nombre de variables désiré. Efficace avec les modèles qui exposent une mesure d’importance (Random Forest, SVM linéaire).

Forward / Backward Selection : ajoute (forward) ou supprime (backward) des variables une par une en évaluant l’impact sur la performance du modèle.

Méthodes Embedded

Les méthodes embedded intègrent la sélection de variables dans le processus d’entraînement lui-même.

Lasso (régularisation L1) : force certains coefficients à zéro, effectuant ainsi une sélection automatique de variables. Très efficace en régression et classification linéaire.

Importance des features (Random Forest, XGBoost) : mesure la contribution de chaque variable à la réduction d’impureté des arbres. Robuste, non linéaire, et applicable en classification comme en régression.

Familles de méthodes de sélection de variables
Famille Méthode Principe Complexité
Filter Pearson, ANOVA, MI Score indépendant du modèle Faible
Wrapper RFE, Forward/Backward selection Sélection basée sur un modèle Élevée
Embedded Lasso (L1), Random Forest importance Sélection intégrée à l’entraînement Moyenne

Réduction de dimension

La réduction de dimension projette les données dans un espace de plus faible dimension tout en préservant au maximum l’information utile. Elle diffère de la sélection de variables : au lieu de choisir des variables existantes, elle en crée de nouvelles (combinaisons linéaires ou non linéaires).

ACP — Analyse en Composantes Principales (PCA)

L’ACP est la méthode de réduction de dimension la plus utilisée. Elle projette les données sur les directions de variance maximale, appelées composantes principales.

Principe : les composantes principales sont des combinaisons linéaires orthogonales des variables originales, ordonnées par variance décroissante. La première composante capte le maximum de variance, la deuxième le maximum de variance résiduelle, et ainsi de suite.

Critère de choix du nombre de composantes : on retient généralement le nombre de composantes nécessaires pour expliquer 80% ou 95% de la variance totale. Le scree plot (graphique de la variance expliquée par composante) aide à visualiser ce seuil.

Limites : l’ACP est une transformation linéaire. Elle ne capte pas les structures non linéaires (clusters courbes, spirales, variétés). Elle est aussi sensible aux échelles — une standardisation préalable est indispensable.

t-SNE — Visualisation non linéaire

Le t-SNE (t-distributed Stochastic Neighbor Embedding) est un algorithme de réduction non linéaire conçu exclusivement pour la visualisation en 2D ou 3D. Il préserve la structure locale des données (les voisinages proches), révélant des clusters invisibles à l’ACP.

Attention : t-SNE ne doit jamais être utilisé comme preprocessing pour un modèle ML. Il est non déterministe (résultats différents à chaque exécution), non inversible, et ses distances inter-clusters n’ont pas d’interprétation directe.

UMAP — Réduction universelle

UMAP (Uniform Manifold Approximation and Projection) est une alternative moderne au t-SNE, plus rapide et plus stable. Contrairement au t-SNE, il préserve mieux la structure globale des données et peut être utilisé comme preprocessing (contrairement au t-SNE).

Méthodes de réduction de dimension
Méthode Type Préserve Usage principal Limite
PCA Linéaire Variance globale Preprocessing, compression Ne capte pas le non-linéaire
t-SNE Non linéaire Structure locale Visualisation uniquement Lent, non déterministe, non inversible
UMAP Non linéaire Local + global Visualisation + preprocessing Hyperparamètres sensibles
Autoencoders Non linéaire (DL) Reconstruction Données complexes (images, texte) Nécessite beaucoup de données

Pipeline de préparation — Vue d’ensemble

Un bon pipeline de préparation enchaîne les étapes dans un ordre logique et évite toute fuite d’information entre train et test. La structure recommandée est la suivante :

Données brutes
    │
    ▼
[1] Inspection & EDA
    Statistiques descriptives, visualisations, corrélations
    │
    ▼
[2] Traitement des valeurs manquantes
    Imputation par médiane / KNN / modèle selon le mécanisme
    │
    ▼
[3] Détection et traitement des outliers
    Z-score, IQR, Isolation Forest → suppression / winsorisation / transformation
    │
    ▼
[4] Encodage des variables catégorielles
    Label / OHE / Target selon la cardinalité et l'ordinalité
    │
    ▼
[5] Feature Engineering
    Création de variables, interactions, transformations
    │
    ▼
[6] Mise à l'échelle
    Standardisation (défaut) ou normalisation selon l'algorithme cible
    │
    ▼
[7] Sélection / Réduction de dimension
    Filter → Wrapper → Embedded → PCA si nécessaire
    │
    ▼
Données prêtes pour la modélisation
TipBonnes pratiques à retenir
  1. Toujours explorer avant de transformer — l’EDA guide les choix de prétraitement, pas l’inverse
  2. Fit sur train, transform sur test — éviter le data leakage à chaque étape du pipeline
  3. Encapsuler dans un Pipeline sklearn — reproductibilité garantie et déploiement simplifié
  4. Documenter chaque transformation — traçabilité essentielle en production et en audit
  5. Itérer — le feature engineering est un processus continu, revisité après chaque cycle de modélisation

Conclusion

La préparation des données n’est pas une étape mécanique : c’est un travail analytique exigeant qui mobilise compréhension du domaine, rigueur statistique et jugement.

Chaque décision — quelle valeur manquante imputer, quel outlier supprimer, quelle variable créer — a un impact direct sur la qualité du modèle final. Un pipeline de préparation bien conçu est souvent ce qui fait la différence entre un modèle médiocre et un modèle performant, bien avant de choisir l’algorithme d’apprentissage.


NotePour aller plus loin