0Pricing
Learn AI with Python · Leçon

Mise à l’échelle des caractéristiques : normalisation et standardisation

MinMaxScaler, StandardScaler, RobustScaler — quand utiliser chacun et pourquoi cela compte.

Mise à l’échelle des caractéristiques : normalisation et standardisation est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.

Pourquoi mettre les variables à l'échelle ?

De nombreux algorithmes sont sensibles à la MAGNITUDE des variables. Une variable allant de 0 à 1 000 000 dominera une variable allant de 0 à 1 dans les modèles fondés sur les distances ou les gradients. La mise à l'échelle place les variables dans des intervalles comparables.

Qui a besoin d'une mise à l'échelle

La mise à l'échelle est importante pour KNN, SVM, k-means, PCA et les modèles fondés sur la descente de gradient, comme la régression linéaire ou logistique et les réseaux neuronaux. Les modèles fondés sur des arbres (forêts aléatoires, augmentation de gradient) sont invariants par rapport à l'échelle et n'en ont pas besoin.

Normalisation : MinMaxScaler

La normalisation min-max redimensionne chaque variable sur un intervalle fixe, généralement de 0 à 1, avec (x - min) / (max - min). Elle préserve la forme de la distribution.

from sklearn.preprocessing import MinMaxScaler
import numpy as np
X = np.array([[10.0], [20.0], [30.0], [40.0]])
scaler = MinMaxScaler()
print(scaler.fit_transform(X).ravel())   # [0. 0.333 0.667 1.]

Standardisation : StandardScaler

La standardisation donne à chaque variable une moyenne nulle et une variance unitaire avec (x - mean) / std. Le résultat est un score z ; les valeurs sont centrées, mais non limitées.

from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
Xs = scaler.fit_transform(X)
print(Xs.ravel())
print(Xs.mean(), Xs.std())   # ~0 and ~1

MinMax ou standardisation

Utilisez MinMax lorsque vous avez besoin d'un intervalle borné (par ex. pour les pixels d'image ou les entrées de réseaux neuronaux). Utilisez la standardisation lorsque l'algorithme suppose des données approximativement centrées sur zéro (PCA, SVM, modèles linéaires). MinMax est plus sensible aux valeurs aberrantes.

RobustScaler pour les valeurs aberrantes

RobustScaler centre les données sur la MEDIAN et les redimensionne avec l'IQR. Comme ces deux mesures résistent aux valeurs aberrantes, c'est le bon choix lorsque des valeurs extrêmes fausseraient les autres outils de mise à l'échelle.

from sklearn.preprocessing import RobustScaler
Xo = np.array([[1.0], [2.0], [3.0], [4.0], [100.0]])
print(RobustScaler().fit_transform(Xo).ravel())

fit ou transform

Les outils de mise à l'échelle LEARN leurs paramètres dans fit (le minimum et le maximum, ou la moyenne et l'écart type) et les APPLY dans transform. fit_transform effectue les deux opérations en un seul appel.

scaler = StandardScaler()
scaler.fit(X)          # learns mean and std
Xs = scaler.transform(X)   # applies them

La règle d'or : ajuster uniquement sur l'entraînement

Utilisez toujours fit sur l'ensemble TRAINING, puis utilisez seulement transform sur le jeu d'évaluation avec ces paramètres appris. Ajuster le modèle sur les données d'évaluation laisse des informations les concernant s'infiltrer dans votre modèle.

scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)   # transform only!

Pourquoi ne pas ajuster sur le jeu d'évaluation

Si vous mettez les données à l'échelle avec des statistiques qui incluent le jeu d'évaluation, votre évaluation voit des informations auxquelles elle ne devrait pas avoir accès : c'est une fuite de données. Cela produit des estimations optimistes et peu fiables des performances.

Transformation inverse

Les outils de mise à l'échelle peuvent inverser l'opération avec inverse_transform, ce qui permet de reconvertir les prédictions mises à l'échelle dans leurs unités d'origine pour les présenter.

original = scaler.inverse_transform(X_train_scaled)
# recovers the pre-scaled values

Mettre la cible à l'échelle

En classification, vous mettez généralement à l'échelle les FEATURES, et non la cible. En régression, vous pouvez également mettre la cible à l'échelle, mais pensez alors à appliquer la transformation inverse aux prédictions avant de présenter les erreurs.

Vérification rapide

Vérifiez vos connaissances sur la mise à l'échelle.

Récapitulatif

Boîte à outils de mise à l'échelle :

  • La mise à l'échelle est importante pour les modèles fondés sur les distances ou les gradients ; les arbres l'ignorent
  • MinMaxScaler -> intervalle borné de 0..1 ; StandardScaler -> moyenne nulle et variance unitaire
  • RobustScaler utilise la médiane et l'IQR, et résiste aux valeurs aberrantes
  • Utilisez toujours fit_transform sur l'entraînement et transform uniquement sur le jeu d'évaluation (pour éviter les fuites)

Questions Fréquemment Posées

La leçon « Mise à l’échelle des caractéristiques : normalisation et standardisation » est-elle gratuite ?

Oui — le texte complet de « Mise à l’échelle des caractéristiques : normalisation et standardisation » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Mise à l’échelle des caractéristiques : normalisation et standardisation » ?

MinMaxScaler, StandardScaler, RobustScaler — quand utiliser chacun et pourquoi cela compte. Tu pratiques Learn AI with Python avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Learn AI with Python ?

Aucune expérience préalable n'est requise. Learn AI with Python sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Mise à l’échelle des caractéristiques : normalisation et standardisation » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Learn AI with Python ?

Oui. Chaque leçon Learn AI with Python inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Détection et suppression des valeurs aberrantes
  2. Encodage des variables catégorielles
  3. Mise à l’échelle des caractéristiques : normalisation et standardisation
  4. Construire des pipelines de prétraitement
← Retour à Learn AI with Python