IT Learning

実践形式でITのお勉強

Python 機械学習

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')

以下を参考にさせてもらいました。

python – ValueError: Solver lbfgs supports only ‘l2’ or ‘none’ penalties, got l1 penalty – Stack Overflow

Related

-Python, 機械学習

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です