← retour aux snippets

sklearn: Pipeline prétraitement+modèle

Chaîner scaler/imputer et modèle pour CV propre.

objectif

Chaîner scaler/imputer et modèle pour CV propre.

code minimal

from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_iris
X, y = load_iris(return_X_y=True)
pipe = Pipeline([("sc", StandardScaler()), ("clf", LogisticRegression(max_iter=1000))]).fit(X, y)
print(hasattr(pipe, "predict"))

utilisation

print(pipe.score(X, y) >= 0.0)

variante(s) utile(s)

from sklearn.model_selection import cross_val_score
print(len(cross_val_score(pipe, X, y, cv=3)) == 3)

notes

  • La pipeline évite fuite d’info en cross-validation.