Différence entre standardisation et normalisation
En data science, il est souvent nécessaire de préparer les données avant de les utiliser dans des modèles d’apprentissage automatique. Deux techniques courantes sont la standardisation et la normalisation. Bien qu’elles aient toutes deux pour but de transformer les données, elles fonctionnent différemment et ont des usages spécifiques.
Qu’est-ce que la standardisation ?
La standardisation consiste à transformer les données afin qu’elles aient :
- Une moyenne égale à 0
- Un écart-type égal à 1
Cette transformation est réalisée en soustrayant la moyenne de chaque donnée, puis en divisant par l’écart-type :
z = (x − μ) / σ
où :
- x est la valeur initiale,
- μ la moyenne des données,
- σ l’écart-type.
Cette méthode est aussi appelée centrage-réduction.
Pourquoi standardiser ?
La standardisation est particulièrement utile lorsque :
- Les variables ont des unités ou des plages différentes (ex : poids en kg, taille en cm).
- Les algorithmes supposent que les données suivent une distribution normale.
- On souhaite limiter l’impact des valeurs extrêmes (outliers) sur l’apprentissage.
Exemple
Supposons une variable « âge » avec une moyenne de 40 ans et un écart-type de 12 ans. La valeur 64 sera transformée en :
z = (64 – 40) / 12 = 2
Ce qui signifie que 64 est à 2 écarts-types au-dessus de la moyenne.
Qu’est-ce que la normalisation ?
La normalisation, ou mise à l’échelle min-max, consiste à transformer les données pour qu’elles soient comprises dans un intervalle donné, généralement entre 0 et 1 :
x_normalisé = (x − x_min) / (x_max − x_min)
où :
- x est la valeur initiale,
- x_min la valeur minimale de la série,
- x_max la valeur maximale.
Pourquoi normaliser ?
Cette méthode est particulièrement adaptée lorsque :
- Les algorithmes sont sensibles à l’échelle absolue des données, comme ceux basés sur les distances (KNN, clustering).
- On souhaite garantir que toutes les données soient dans le même intervalle (ex : 0 à 1).
Exemple
Si une variable « score » varie entre 50 et 150, la valeur 75 sera transformée en :
x_normalisé = (75 – 50) / (150 – 50) = 25 / 100 = 0,25
Résumé schématique des différences
- Standardisation :
- Transforme la distribution pour avoir une moyenne nulle et un écart-type de 1.
- Basée sur la moyenne et l’écart-type.
- Peut rendre les données négatives.
- Moins sensible aux valeurs extrêmes.
- Normalisation :
- Transforme les données pour les faire entrer dans un intervalle précis (souvent 0 à 1).
- Basée sur la valeur minimale et maximale.
- Toutes les données restent positives.
- Sensible aux valeurs extrêmes.
Comparaison détaillée
Aspect | Standardisation | Normalisation |
---|---|---|
Objectif | Centrer les données à 0, réduire la variance à 1 | Mettre toutes les données dans un intervalle spécifique (ex. 0 à 1) |
Formule | (x – moyenne) / écart-type | (x – min) / (max – min) |
Distribution cible | Moyenne = 0, écart-type = 1 | Valeurs entre 0 et 1 |
Sensibilité aux outliers | Moins sensible | Très sensible |
Quand l’utiliser | Variables suivant une distribution normale, algorithmes linéaires, SVM, réseaux de neurones | Algorithmes basés sur la distance (KNN, clustering), données non gaussiennes |
En résumé
Choisissez la standardisation quand vos données suivent une distribution normale et que vous utilisez des modèles qui supposent cette condition. Préférez la normalisation lorsque vous travaillez avec des modèles basés sur la distance ou que vos données ne suivent pas une distribution normale.