Skip to content

return_intercept==True in ridge_regression raises an exception #13362

@btel

Description

@btel

Description

Steps/Code to Reproduce

from sklearn.linear_model import ridge_regression
ridge_regression([[0], [1], [3]], [0, 1, 3], 1, solver='auto', return_intercept=True)

Expected Results

(array([1]), 0) (the values can differ, but at least no exception should be raised)

Actual Results

---------------------------------------------------------------------------
UnboundLocalError                         Traceback (most recent call last)
<ipython-input-5-84df44249e86> in <module>
----> 1 ridge_regression([[0], [1], [3]], [1, 2, 3], 1, solver='auto', return_intercept=True)

~/.pyenv/versions/3.7.2/envs/kaggle-3.7.2/lib/python3.7/site-packages/sklearn/linear_model/ridge.py in ridge_regression(X, y, alpha, sample_weight, solver, max_iter, tol, verbose, random_state, return_n_iter, return_intercept)
    450         return coef, n_iter, intercept
    451     elif return_intercept:
--> 452         return coef, intercept
    453     elif return_n_iter:
    454         return coef, n_iter

UnboundLocalError: local variable 'intercept' referenced before assignment

Versions

Linux-4.20.8-arch1-1-ARCH-x86_64-with-arch
Python 3.7.2 (default, Feb 22 2019, 18:13:04) 
[GCC 8.2.1 20181127]
NumPy 1.16.1
SciPy 1.2.1
Scikit-Learn 0.21.dev0

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions