11
11
12
12
from ._base import LinearModel , _rescale_data
13
13
from ..base import RegressorMixin
14
+ from ._base import _deprecate_normalize
14
15
from ..utils .extmath import fast_logdet
15
16
from scipy .linalg import pinvh
16
17
from ..utils .validation import _check_sample_weight
@@ -84,6 +85,10 @@ class BayesianRidge(RegressorMixin, LinearModel):
84
85
:class:`~sklearn.preprocessing.StandardScaler` before calling ``fit``
85
86
on an estimator with ``normalize=False``.
86
87
88
+ .. deprecated:: 1.0
89
+ ``normalize`` was deprecated in version 1.0 and will be removed in
90
+ 1.2.
91
+
87
92
copy_X : bool, default=True
88
93
If True, X will be copied; else, it may be overwritten.
89
94
@@ -158,7 +163,7 @@ class BayesianRidge(RegressorMixin, LinearModel):
158
163
def __init__ (self , * , n_iter = 300 , tol = 1.e-3 , alpha_1 = 1.e-6 , alpha_2 = 1.e-6 ,
159
164
lambda_1 = 1.e-6 , lambda_2 = 1.e-6 , alpha_init = None ,
160
165
lambda_init = None , compute_score = False , fit_intercept = True ,
161
- normalize = False , copy_X = True , verbose = False ):
166
+ normalize = 'deprecated' , copy_X = True , verbose = False ):
162
167
self .n_iter = n_iter
163
168
self .tol = tol
164
169
self .alpha_1 = alpha_1
@@ -193,6 +198,10 @@ def fit(self, X, y, sample_weight=None):
193
198
-------
194
199
self : returns an instance of self.
195
200
"""
201
+ self ._normalize = _deprecate_normalize (
202
+ self .normalize , default = False ,
203
+ estimator_name = self .__class__ .__name__
204
+ )
196
205
197
206
if self .n_iter < 1 :
198
207
raise ValueError ('n_iter should be greater than or equal to 1.'
@@ -205,7 +214,7 @@ def fit(self, X, y, sample_weight=None):
205
214
dtype = X .dtype )
206
215
207
216
X , y , X_offset_ , y_offset_ , X_scale_ = self ._preprocess_data (
208
- X , y , self .fit_intercept , self .normalize , self .copy_X ,
217
+ X , y , self .fit_intercept , self ._normalize , self .copy_X ,
209
218
sample_weight = sample_weight )
210
219
211
220
if sample_weight is not None :
@@ -325,7 +334,7 @@ def predict(self, X, return_std=False):
325
334
if return_std is False :
326
335
return y_mean
327
336
else :
328
- if self .normalize :
337
+ if self ._normalize :
329
338
X = (X - self .X_offset_ ) / self .X_scale_
330
339
sigmas_squared_data = (np .dot (X , self .sigma_ ) * X ).sum (axis = 1 )
331
340
y_std = np .sqrt (sigmas_squared_data + (1. / self .alpha_ ))
@@ -445,6 +454,10 @@ class ARDRegression(RegressorMixin, LinearModel):
445
454
:class:`~sklearn.preprocessing.StandardScaler` before calling ``fit``
446
455
on an estimator with ``normalize=False``.
447
456
457
+ .. deprecated:: 1.0
458
+ ``normalize`` was deprecated in version 1.0 and will be removed in
459
+ 1.2.
460
+
448
461
copy_X : bool, default=True
449
462
If True, X will be copied; else, it may be overwritten.
450
463
@@ -510,8 +523,8 @@ class ARDRegression(RegressorMixin, LinearModel):
510
523
@_deprecate_positional_args
511
524
def __init__ (self , * , n_iter = 300 , tol = 1.e-3 , alpha_1 = 1.e-6 , alpha_2 = 1.e-6 ,
512
525
lambda_1 = 1.e-6 , lambda_2 = 1.e-6 , compute_score = False ,
513
- threshold_lambda = 1.e+4 , fit_intercept = True , normalize = False ,
514
- copy_X = True , verbose = False ):
526
+ threshold_lambda = 1.e+4 , fit_intercept = True ,
527
+ normalize = 'deprecated' , copy_X = True , verbose = False ):
515
528
self .n_iter = n_iter
516
529
self .tol = tol
517
530
self .fit_intercept = fit_intercept
@@ -543,14 +556,19 @@ def fit(self, X, y):
543
556
-------
544
557
self : returns an instance of self.
545
558
"""
559
+ self ._normalize = _deprecate_normalize (
560
+ self .normalize , default = False ,
561
+ estimator_name = self .__class__ .__name__
562
+ )
563
+
546
564
X , y = self ._validate_data (X , y , dtype = np .float64 , y_numeric = True ,
547
565
ensure_min_samples = 2 )
548
566
549
567
n_samples , n_features = X .shape
550
568
coef_ = np .zeros (n_features )
551
569
552
570
X , y , X_offset_ , y_offset_ , X_scale_ = self ._preprocess_data (
553
- X , y , self .fit_intercept , self .normalize , self .copy_X )
571
+ X , y , self .fit_intercept , self ._normalize , self .copy_X )
554
572
555
573
self .X_offset_ = X_offset_
556
574
self .X_scale_ = X_scale_
@@ -686,7 +704,7 @@ def predict(self, X, return_std=False):
686
704
if return_std is False :
687
705
return y_mean
688
706
else :
689
- if self .normalize :
707
+ if self ._normalize :
690
708
X = (X - self .X_offset_ ) / self .X_scale_
691
709
X = X [:, self .lambda_ < self .threshold_lambda ]
692
710
sigmas_squared_data = (np .dot (X , self .sigma_ ) * X ).sum (axis = 1 )
0 commit comments