Skip to content

Le vocabulaire commun de scikit-learn

Ce module se termine par un tour d’horizon de scikit-learn, la bibliothèque de Machine Learning « classique » (par opposition au deep learning) la plus utilisée en Python. Plutôt que de détailler un algorithme en particulier — ce sera l’objet des modules 3, 4 et 5 — cette leçon fixe le vocabulaire commun à tous les modèles scikit-learn, qui ne sera plus réexpliqué ensuite.

Quel que soit le modèle (régression linéaire, forêt aléatoire, K-Means…), scikit-learn expose systématiquement les mêmes méthodes :

  • fit(X, y) : entraîne le modèle sur des données (y est omis pour les modèles non supervisés, voir module 5).
  • predict(X) : produit une prédiction à partir de nouvelles données.
  • transform(X) : transforme des données (utilisé par les outils de prétraitement, pas les modèles).
from sklearn.model_selection import train_test_split
import numpy as np
X = np.random.uniform(0, 100, (200, 1))
y = 3.5 * X.ravel() + np.random.normal(0, 15, 200) + 50
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
print("taille train/test:", X_train.shape[0], X_test.shape[0])
taille train/test: 160 40

test_size=0.2 réserve 20 % des données au test ; random_state=42 fixe la graine aléatoire pour que le découpage soit reproductible d’une exécution à l’autre — un réflexe systématique dans ce cours, déjà rencontré au module 1 (règle d’or de l’évaluation).

Standardiser : fit sur le train, transform sur les deux

Section titled “Standardiser : fit sur le train, transform sur les deux”
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)
print("moyenne train apres scaling:", round(X_train_scaled.mean(), 10))
print("ecart-type train apres scaling:", round(X_train_scaled.std(), 10))
moyenne train apres scaling: -0.0
ecart-type train apres scaling: 1.0

Remarquez l’asymétrie volontaire : fit_transform sur le train (le scaler apprend la moyenne et l’écart-type du train), puis seulement transform sur le test (il réutilise ces mêmes statistiques, sans les recalculer). Appliquer fit_transform sur le test serait une fuite de données : le modèle serait implicitement informé de la distribution du test avant même d’être évalué dessus. Cette règle a déjà été énoncée en théorie au module 1 ; elle est ici concrètement outillée.

from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error
model = LinearRegression()
model.fit(X_train_scaled, y_train)
predictions = model.predict(X_test_scaled)
mae = mean_absolute_error(y_test, predictions)
print("MAE sur le test:", round(mae, 2))
MAE sur le test: 12.07

Trois lignes suffisent : fit (apprentissage), predict (inférence), et une métrique de sklearn.metrics pour quantifier l’erreur — ici une MAE d’environ 12, cohérente avec le bruit gaussien d’écart-type 15 injecté dans les données synthétiques.

Étape Module où elle est approfondie
Choisir la bonne métrique Module 1
Construire les bonnes features Modules 3, 4
Choisir et entraîner le bon modèle Modules 3, 4, 5, 6, 7
Éviter la fuite de données Rappelé à chaque module qui entraîne un modèle

Le module 0 est terminé. Direction le premier vrai sujet de Machine Learning :

👉 Module 1 : Fondamentaux du Machine Learning


Junior TSAFACK – 12/09/2026