ValueError: Solver lbfgs supports only 'l2' or 'none' penalties, got l1 penalty
As l1 is supported by solver 'liblinear'. Always specify solver='liblinear' with penalty= 'l1'
selection = SelectFromModel(LogisticRegression(C=1, penalty='l1', solver='liblinear'))
This is cleared up in the documentation.
solver : {‘newton-cg’, ‘lbfgs’, ‘liblinear’, ‘sag’, ‘saga’}, default=’lbfgs’
...
‘newton-cg’, ‘lbfgs’, ‘sag’ and ‘saga’ handle L2 or no penalty
‘liblinear’ and ‘saga’ also handle L1 penalty
Call it like this:
LogisticRegression(C=1, penalty='l1', solver='liblinear')
Just try to specify the solver that you want to use and then the error will be gone. l1 support 'liblinear' and 'saga' L2 handle newton-cg’, ‘lbfgs’, ‘sag’ and ‘saga’
clf = LogisticRegression(C=0.01, penalty='l1',solver='liblinear');