@@ -233,6 +233,7 @@ def _predict_oof_estimator(
233233 estimator : RegressorMixin ,
234234 X : ArrayLike ,
235235 val_index : ArrayLike ,
236+ ** predict_params
236237 ) -> Tuple [NDArray , ArrayLike ]:
237238 """
238239 Perform predictions on a single out-of-fold model on a validation set.
@@ -248,14 +249,17 @@ def _predict_oof_estimator(
248249 val_index: ArrayLike of shape (n_samples_val)
249250 Validation data indices.
250251
252+ **predict_params : dict
253+ Additional predict parameters.
254+
251255 Returns
252256 -------
253257 Tuple[NDArray, ArrayLike]
254258 Predictions of estimator from val_index of X.
255259 """
256260 X_val = _safe_indexing (X , val_index )
257261 if _num_samples (X_val ) > 0 :
258- y_pred = estimator .predict (X_val )
262+ y_pred = estimator .predict (X_val , ** predict_params )
259263 else :
260264 y_pred = np .array ([])
261265 return y_pred , val_index
@@ -306,7 +310,7 @@ def _aggregate_with_mask(
306310 else :
307311 raise ValueError ("The value of self.agg_function is not correct" )
308312
309- def _pred_multi (self , X : ArrayLike ) -> NDArray :
313+ def _pred_multi (self , X : ArrayLike , ** predict_params ) -> NDArray :
310314 """
311315 Return a prediction per train sample for each test sample, by
312316 aggregation with matrix ``k_``.
@@ -316,12 +320,15 @@ def _pred_multi(self, X: ArrayLike) -> NDArray:
316320 X: ArrayLike of shape (n_samples_test, n_features)
317321 Input data
318322
323+ **predict_params : dict
324+ Additional predict parameters.
325+
319326 Returns
320327 -------
321328 NDArray of shape (n_samples_test, n_samples_train)
322329 """
323330 y_pred_multi = np .column_stack (
324- [e .predict (X ) for e in self .estimators_ ]
331+ [e .predict (X , ** predict_params ) for e in self .estimators_ ]
325332 )
326333 # At this point, y_pred_multi is of shape
327334 # (n_samples_test, n_estimators_). The method
@@ -334,7 +341,8 @@ def predict_calib(
334341 self ,
335342 X : ArrayLike ,
336343 y : Optional [ArrayLike ] = None ,
337- groups : Optional [ArrayLike ] = None
344+ groups : Optional [ArrayLike ] = None ,
345+ ** predict_params
338346 ) -> NDArray :
339347 """
340348 Perform predictions on X : the calibration set.
@@ -355,6 +363,9 @@ def predict_calib(
355363
356364 By default ``None``.
357365
366+ **predict_params : dict
367+ Additional predict parameters.
368+
358369 Returns
359370 -------
360371 NDArray of shape (n_samples_test, 1)
@@ -371,7 +382,7 @@ def predict_calib(
371382 cv = cast (BaseCrossValidator , self .cv )
372383 outputs = Parallel (n_jobs = self .n_jobs , verbose = self .verbose )(
373384 delayed (self ._predict_oof_estimator )(
374- estimator , X , calib_index ,
385+ estimator , X , calib_index , ** predict_params
375386 )
376387 for (_ , calib_index ), estimator in zip (
377388 cv .split (X , y , groups ),
@@ -404,7 +415,7 @@ def fit(
404415 y : ArrayLike ,
405416 sample_weight : Optional [ArrayLike ] = None ,
406417 groups : Optional [ArrayLike ] = None ,
407- ** fit_params ,
418+ ** fit_params
408419 ) -> EnsembleRegressor :
409420 """
410421 Fit the base estimator under the ``single_estimator_`` attribute.
@@ -526,6 +537,9 @@ def predict(
526537 predictions (3 arrays). If ``False`` the method return the
527538 simple predictions only.
528539
540+ **predict_params : dict
541+ Additional predict parameters.
542+
529543 Returns
530544 -------
531545 Tuple[NDArray, NDArray, NDArray]
@@ -535,15 +549,15 @@ def predict(
535549 """
536550 check_is_fitted (self , self .fit_attributes )
537551
538- y_pred = self .single_estimator_ .predict (X )
552+ y_pred = self .single_estimator_ .predict (X , ** predict_params )
539553 if not return_multi_pred and not ensemble :
540554 return y_pred
541555
542556 if self .method in self .no_agg_methods_ or self .use_split_method_ :
543557 y_pred_multi_low = y_pred [:, np .newaxis ]
544558 y_pred_multi_up = y_pred [:, np .newaxis ]
545559 else :
546- y_pred_multi = self ._pred_multi (X )
560+ y_pred_multi = self ._pred_multi (X , ** predict_params )
547561
548562 if self .method == "minmax" :
549563 y_pred_multi_low = np .min (y_pred_multi , axis = 1 , keepdims = True )
0 commit comments