@@ -500,6 +500,8 @@ def _validate_eval_set_Xy(eval_set, eval_X, eval_y):
500
500
if eval_set is not None :
501
501
msg = "The argument 'eval_set' is deprecated, use 'eval_X' and 'eval_y' instead."
502
502
warnings .warn (msg , category = LGBMDeprecationWarning , stacklevel = 2 )
503
+ if eval_X is not None or eval_y is not None :
504
+ raise ValueError ("Specify either 'eval_set' or 'eval_X' and 'eval_y', but not both." )
503
505
return eval_set
504
506
if (eval_X is None ) != (eval_y is None ):
505
507
raise ValueError ("You must specify eval_X and eval_y, not just one of them." )
@@ -508,10 +510,10 @@ def _validate_eval_set_Xy(eval_set, eval_X, eval_y):
508
510
raise ValueError ("If eval_X is a tuple, y_val must be a tuple of same length, and vice versa." )
509
511
if isinstance (eval_X , tuple ) and len (eval_X ) != len (eval_y ):
510
512
raise ValueError ("If eval_X is a tuple, y_val must be a tuple of same length, and vice versa." )
511
- if not isinstance (eval_X , tuple ):
512
- eval_set = (eval_X , eval_y )
513
- else :
513
+ if isinstance (eval_X , tuple ):
514
514
eval_set = list (zip (eval_X , eval_y ))
515
+ else :
516
+ eval_set = [(eval_X , eval_y )]
515
517
return eval_set
516
518
517
519
0 commit comments