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.