ValueError: Solver lbfgs supports only ‘l2’ or ‘none’ penalties, got l1 penaltyが発生した時の対処法
scikit-learnのロジスティック回帰でモデル定義を行ったときにエラーが発生したので、その対処法です。
環境
python 3.9.13
scikit-learn 1.3.0
発生状況
ロジスティック回帰定義時L1正則化を使うためにメソッド引数でペナルティにl1を指定したらエラー発生。
from sklearn.linear_model import LogisticRegression
lr = LogisticRegression(penalty="l1")
-----------------------------------------------------------------------------------
ValueError: Solver lbfgs supports only 'l2' or 'none' penalties, got l1 penalty.
対処法
solverとして’liblinear’を指定しないといけないらしい。これでエラーは解消しました。
lr = LogisticRegression(penalty="l1", solver='liblinear')
以下を参考にさせてもらいました。