From b7b02120af6dbec9242c07c1fb80469135bfd5ed Mon Sep 17 00:00:00 2001 From: Balakumaran Manoharan Date: Thu, 13 Jul 2017 02:07:21 -0500 Subject: [PATCH 1/3] copy not passed from linear_model/base.py:_pre_fit to _preprocess_data in the sparse case --- sklearn/linear_model/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sklearn/linear_model/base.py b/sklearn/linear_model/base.py index 2d003429815c9..840c089785ae5 100644 --- a/sklearn/linear_model/base.py +++ b/sklearn/linear_model/base.py @@ -523,7 +523,7 @@ def _pre_fit(X, y, Xy, precompute, normalize, fit_intercept, copy): precompute = False X, y, X_offset, y_offset, X_scale = _preprocess_data( X, y, fit_intercept=fit_intercept, normalize=normalize, - return_mean=True) + copy=copy, return_mean=True) else: # copy was done in fit if necessary X, y, X_offset, y_offset, X_scale = _preprocess_data( From 753b32d2237f07c79b3da97ef9bddf1811f49fbb Mon Sep 17 00:00:00 2001 From: Balakumaran Manoharan Date: Thu, 13 Jul 2017 17:46:59 -0500 Subject: [PATCH 2/3] Pass copy as False for sparse matrix to _preprocess_data --- sklearn/linear_model/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sklearn/linear_model/base.py b/sklearn/linear_model/base.py index 840c089785ae5..d64b102c59770 100644 --- a/sklearn/linear_model/base.py +++ b/sklearn/linear_model/base.py @@ -523,7 +523,7 @@ def _pre_fit(X, y, Xy, precompute, normalize, fit_intercept, copy): precompute = False X, y, X_offset, y_offset, X_scale = _preprocess_data( X, y, fit_intercept=fit_intercept, normalize=normalize, - copy=copy, return_mean=True) + copy=False, return_mean=True) else: # copy was done in fit if necessary X, y, X_offset, y_offset, X_scale = _preprocess_data( From 0690c2617301f4f88db21010c6b6650f7435f58e Mon Sep 17 00:00:00 2001 From: Balakumaran Manoharan Date: Sat, 15 Jul 2017 20:02:14 -0500 Subject: [PATCH 3/3] Add comment with reason for copy=False --- sklearn/linear_model/base.py | 1 + 1 file changed, 1 insertion(+) diff --git a/sklearn/linear_model/base.py b/sklearn/linear_model/base.py index d64b102c59770..08a18deef577a 100644 --- a/sklearn/linear_model/base.py +++ b/sklearn/linear_model/base.py @@ -520,6 +520,7 @@ def _pre_fit(X, y, Xy, precompute, normalize, fit_intercept, copy): n_samples, n_features = X.shape if sparse.isspmatrix(X): + # copy was not done as X is not modified inplace when X is sparse precompute = False X, y, X_offset, y_offset, X_scale = _preprocess_data( X, y, fit_intercept=fit_intercept, normalize=normalize,