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.
Trois méthodes, une seule logique
Section titled “Trois méthodes, une seule logique”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 (yest 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).
Séparer train et test
Section titled “Séparer train et test”from sklearn.model_selection import train_test_splitimport 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 40test_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.0ecart-type train apres scaling: 1.0Remarquez 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.
Entraîner, prédire, évaluer
Section titled “Entraîner, prédire, évaluer”from sklearn.linear_model import LinearRegressionfrom 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.07Trois 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.
Ce schéma reviendra partout
Section titled “Ce schéma reviendra partout”| É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 |
Prochaine étape
Section titled “Prochaine étape”Le module 0 est terminé. Direction le premier vrai sujet de Machine Learning :
👉 Module 1 : Fondamentaux du Machine Learning
Junior TSAFACK – 12/09/2026