Я запускаю процесс выбора функции для задачи классификации, используя встроенный метод (L1 - Лассо) с LogisticRegression.
Я запускаю следующий код:
from sklearn.linear_model import Lasso, LogisticRegression
from sklearn.feature_selection import SelectFromModel
# using logistic regression with penalty l1.
selection = SelectFromModel(LogisticRegression(C=1, penalty='l1'))
selection.fit(x_train, y_train)
Но я получаю исключение (по команде fit
):
selection.fit(x_train, y_train)
File "C:\Python37\lib\site-packages\sklearn\feature_selection\_from_model.py", line 222, in fit
self.estimator_.fit(X, y, **fit_params)
File "C:\Python37\lib\site-packages\sklearn\linear_model\_logistic.py", line 1488, in fit
solver = _check_solver(self.solver, self.penalty, self.dual)
File "C:\Python37\lib\site-packages\sklearn\linear_model\_logistic.py", line 445, in _check_solver
"got %s penalty." % (solver, penalty))
ValueError: Solver lbfgs supports only 'l2' or 'none' penalties, got l1 penalty.
Я работаю под python 3.7.6
и s scikit-learn version is 0.22.2.post1
Что не так и как можно Я это исправлю?