Skip to content

AttributeError: LogisticRegression fit() method broken with default solver( lbfgs ) for scikit-learn 0.23.2 #19787

Closed
@pradghos

Description

@pradghos

Describe the bug

In scikit-learn 0.23.2, LogisticRegression fit() method broken with default solver ( lbfgs )

Steps/Code to Reproduce

Log information :

Python 3.7.10 (default, Mar  1 2021, 12:53:44)
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from sklearn.datasets import load_iris
>>> from sklearn.linear_model import LogisticRegression
>>>  X, y = load_iris(return_X_y=True)
>>> clf = LogisticRegression(random_state=0).fit(X, y)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/miniconda3/envs/sklearn_test/lib/python3.7/site-packages/sklearn/linear_model/_logistic.py", line 1417, in fit
    for class_, warm_start_coef_ in zip(classes_, warm_start_coef))
  File "/opt/miniconda3/envs/sklearn_test/lib/python3.7/site-packages/joblib/parallel.py", line 1041, in __call__
    if self.dispatch_one_batch(iterator):
  File "/opt/miniconda3/envs/sklearn_test/lib/python3.7/site-packages/joblib/parallel.py", line 859, in dispatch_one_batch
    self._dispatch(tasks)
  File "/opt/miniconda3/envs/sklearn_test/lib/python3.7/site-packages/joblib/parallel.py", line 777, in _dispatch
    job = self._backend.apply_async(batch, callback=cb)
  File "/opt/miniconda3/envs/sklearn_test/lib/python3.7/site-packages/joblib/_parallel_backends.py", line 208, in apply_async
    result = ImmediateResult(func)
  File "/opt/miniconda3/envs/sklearn_test/lib/python3.7/site-packages/joblib/_parallel_backends.py", line 572, in __init__
    self.results = batch()
  File "/opt/miniconda3/envs/sklearn_test/lib/python3.7/site-packages/joblib/parallel.py", line 263, in __call__
    for func, args, kwargs in self.items]
  File "/opt/miniconda3/envs/sklearn_test/lib/python3.7/site-packages/joblib/parallel.py", line 263, in <listcomp>
    for func, args, kwargs in self.items]
  File "/opt/miniconda3/envs/sklearn_test/lib/python3.7/site-packages/sklearn/linear_model/_logistic.py", line 764, in _logistic_regression_path
    extra_warning_msg=_LOGISTIC_SOLVER_CONVERGENCE_MSG)
  File "/opt/miniconda3/envs/sklearn_test/lib/python3.7/site-packages/sklearn/utils/optimize.py", line 243, in _check_optimize_result
    ).format(solver, result.status, result.message.decode("latin1"))
AttributeError: 'str' object has no attribute 'decode'
>>>

Package versions:

python 3.7.10
scikit-learn 0.23.2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions