code: def _score_forecasters(forecasters, cv, y):
      """Will evaluate all the forecasters on y and return the name of best."""
      scoring = check_scoring(None)
      scoring_name = f"test_{scoring.name}"
      score = None
      for name, forecaster in forecasters:
          results = evaluate(forecaster, cv, y)
          results = results.mean(numeric_only=True)
          new_score = float(results[scoring_name])
          if not score or new_score < score:
              score = new_score
              best_name = name
      return best_name
  
file_path: sktime/sktime/forecasting/compose/tests/test_multiplex.py
imports: import pytest
  from sktime.datasets import load_shampoo_sales
  from sktime.forecasting.arima import AutoARIMA
  from sktime.forecasting.compose import MultiplexForecaster
  from sktime.forecasting.ets import AutoETS
  from sktime.forecasting.model_evaluation import evaluate
  from sktime.forecasting.model_selection import ForecastingGridSearchCV
  from sktime.forecasting.naive import NaiveForecaster
  from sktime.forecasting.theta import ThetaForecaster
  from sktime.split import ExpandingWindowSplitter
  from sktime.utils.validation._dependencies import _check_estimator_deps
  from sktime.utils.validation.forecasting import check_scoring
label_desc: Use image node_id 1 for calling a global function with example usage: _score_forecasters(forecasters, cv, y) and returns: best_name