Devmind.
Menu

Apprendre, à votre rythme

Tous les cursus sont accessibles sans compte.

Chapitre 15 / Pratique

Régression avec scikit-learn

Entraîner, prédire et comparer à la baseline.

◷ 15 minutesTravail sur votre machine

Énoncé

Sur un jeu tabulaire : LinearRegression dans un pipeline (imputation + échelle), baseline médiane, MAE/RMSE/R² en CV puis test unique. Notez résidus moyens par décile de y.

Contraintes

Pipeline obligatoire, random_state noté, test touché une fois pour le verdict.

Indices

make_pipeline(SimpleImputer(strategy="median"), StandardScaler(), LinearRegression()), cross_validate(..., scoring="neg_mean_absolute_error").

Correction disponibleCherchez d’abord par vous-même.Voir la correction

Correction

from sklearn.pipeline import make_pipeline
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LinearRegression
from sklearn.dummy import DummyRegressor
from sklearn.model_selection import cross_validate

pipe = make_pipeline(SimpleImputer(strategy="median"), StandardScaler(), LinearRegression())
r = cross_validate(pipe, X_train, y_train, cv=5, scoring="neg_mean_absolute_error")
print(-r["test_score"].mean(), r["test_score"].std())

Si la régression ne bat pas la médiane, vos features n'apportent rien de linéaire : transformez ou changez de famille au lieu de régler des hyperparamètres inexistants.