@@ -219,6 +219,8 @@ def __init__(self, score_func, sign, kwargs, response_method="predict"):
219
219
self ._sign = sign
220
220
self ._kwargs = kwargs
221
221
self ._response_method = response_method
222
+ # TODO (1.8): remove in 1.8 (scoring="max_error" has been deprecated in 1.6)
223
+ self ._deprecation_msg = None
222
224
223
225
def _get_pos_label (self ):
224
226
if "pos_label" in self ._kwargs :
@@ -270,6 +272,12 @@ def __call__(self, estimator, X, y_true, sample_weight=None, **kwargs):
270
272
score : float
271
273
Score function applied to prediction of estimator on X.
272
274
"""
275
+ # TODO (1.8): remove in 1.8 (scoring="max_error" has been deprecated in 1.6)
276
+ if self ._deprecation_msg is not None :
277
+ warnings .warn (
278
+ self ._deprecation_msg , category = DeprecationWarning , stacklevel = 2
279
+ )
280
+
273
281
_raise_for_params (kwargs , self , None )
274
282
275
283
_kwargs = copy .deepcopy (kwargs )
@@ -420,7 +428,12 @@ def get_scorer(scoring):
420
428
"""
421
429
if isinstance (scoring , str ):
422
430
try :
423
- scorer = copy .deepcopy (_SCORERS [scoring ])
431
+ if scoring == "max_error" :
432
+ # TODO (1.8): scoring="max_error" has been deprecated in 1.6,
433
+ # remove in 1.8
434
+ scorer = max_error_scorer
435
+ else :
436
+ scorer = copy .deepcopy (_SCORERS [scoring ])
424
437
except KeyError :
425
438
raise ValueError (
426
439
"%r is not a valid scoring value. "
@@ -758,7 +771,15 @@ def make_scorer(
758
771
# Standard regression scores
759
772
explained_variance_scorer = make_scorer (explained_variance_score )
760
773
r2_scorer = make_scorer (r2_score )
774
+ neg_max_error_scorer = make_scorer (max_error , greater_is_better = False )
761
775
max_error_scorer = make_scorer (max_error , greater_is_better = False )
776
+ # TODO (1.8): remove in 1.8 (scoring="max_error" has been deprecated in 1.6)
777
+ deprecation_msg = (
778
+ "Scoring method max_error was renamed to "
779
+ "neg_max_error in version 1.6 and will "
780
+ "be removed in 1.8."
781
+ )
782
+ max_error_scorer ._deprecation_msg = deprecation_msg
762
783
neg_mean_squared_error_scorer = make_scorer (mean_squared_error , greater_is_better = False )
763
784
neg_mean_squared_log_error_scorer = make_scorer (
764
785
mean_squared_log_error , greater_is_better = False
@@ -867,7 +888,7 @@ def negative_likelihood_ratio(y_true, y_pred):
867
888
_SCORERS = dict (
868
889
explained_variance = explained_variance_scorer ,
869
890
r2 = r2_scorer ,
870
- max_error = max_error_scorer ,
891
+ neg_max_error = neg_max_error_scorer ,
871
892
matthews_corrcoef = matthews_corrcoef_scorer ,
872
893
neg_median_absolute_error = neg_median_absolute_error_scorer ,
873
894
neg_mean_absolute_error = neg_mean_absolute_error_scorer ,
0 commit comments