Документация по LogisticRegression, штрафные противоречия

#python #scikit-learn #logistic-regression

#python #scikit-learn #логистическая регрессия

Вопрос:

Я работаю над уроком, в котором используется LogisticRegression, и я вижу различия в использовании кода и документации для метода.

Я спрашиваю, является ли это ошибкой в документации, или происходит что-то, чего я не понимаю.

Урок заключался в использовании решателя ‘lbfgs’ со штрафом = ‘none’. (Набор данных не имеет значения, важно то, как вызывается метод.)

 lr = LogisticRegression(solver='lbfgs', penalty='none', random_state=2)
  
  • Код выдает ошибку, поскольку только ‘l1’ и ‘l2’ являются приемлемыми вариантами для штрафа с помощью решателя ‘lbfgs’.
  • На веб-странице указано, что ‘lbfgs’ поддерживает L2 или нет (без регуляризации).
  • На веб-странице в разделе «параметры» указано, что ‘lbfgs’ поддерживает только штрафы L2.

Я использую записную книжку jupyter с scikit-learn 0.20.2.

Документация ссылается на веб-страницу:

https://scikit-learn.org/stable/modules/generated/sklearn.linear_model .LogisticRegression.html

Комментарии:

1. Я не получаю никаких ошибок в scikit-learn 0.23.2. Попробуйте обновить и проверьте еще раз?

2. Я согласен с вами. С scikit-learn 0.22.2 или 0.23.2 код не жалуется на штраф = нет. Похоже, что автор урока использовал другую платформу, когда они тестировали свои примеры. По-прежнему имеет место ситуация, когда документация по методу на веб-странице сбивает с толку и не согласуется. Усложняет понимание того, что нужно делать правильно.