code: def _find_best_transformer(forecaster, transformers, cv, y):
      """Evaluate all the transformers on y and return the name of best."""
      scoring = check_scoring(None)
      scoring_name = f"test_{scoring.name}"
      score = None
      for name, transformer in transformers:
          test_transformer = clone(transformer)
          y_hat = test_transformer.fit_transform(y)
          results = evaluate(clone(forecaster), cv, y_hat)
          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/transformations/tests/test_multiplexer.py
imports: import numpy
  import pytest
  from numpy.testing import assert_array_equal
  from sklearn.base import clone
  from sktime.datasets import load_shampoo_sales
  from sktime.forecasting.compose import TransformedTargetForecaster
  from sktime.forecasting.model_evaluation import evaluate
  from sktime.forecasting.model_selection import ForecastingGridSearchCV
  from sktime.forecasting.naive import NaiveForecaster
  from sktime.split import ExpandingWindowSplitter
  from sktime.transformations.compose import MultiplexTransformer
  from sktime.transformations.series.exponent import ExponentTransformer
  from sktime.utils.validation.forecasting import check_scoring
label_desc: Use image node_id 2 for calling a global function with example usage: _find_best_transformer(forecaster, transformers, cv, y) and returns: best_name