← retour aux snippets

sklearn LogisticRegression SAGA L1/L2

régression logistique pénalisée L1/L2 avec solver SAGA

sklearn LogisticRegression SAGA L1/L2

objectif

Expliquer et montrer comment régression logistique pénalisée L1/L2 avec solver SAGA.

code minimal

from sklearn.datasets import make_classification
from sklearn.linear_model import LogisticRegression
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import make_pipeline

X, y = make_classification(n_samples=2000, n_features=50, random_state=0)
pipe = make_pipeline(StandardScaler(with_mean=False), LogisticRegression(penalty="l1", solver="saga", max_iter=5000))
pipe.fit(X, y)
pipe.score(X, y)

utilisation

# basculer en L2
pipe.set_params(logisticregression__penalty="l2").fit(X, y)

variante(s) utile(s)

# multi_class='multinomial' + saga pour softmax régularisé
pipe.set_params(logisticregression__multi_class="multinomial").fit(X, y)

notes

  • SAGA gère L1/L2/ElasticNet et le multinomial.
  • Standardiser les features pour une convergence stable.