class_docstr: Facilitate an AutoML based selection of the best transformer.
  
  When used in combination with either TransformedTargetForecaster or
  ForecastingPipeline in combination with ForecastingGridSearchCV
  MultiplexTransformer provides a framework for transformer selection.  Through
  selection of the appropriate pipeline (ie TransformedTargetForecaster vs
  ForecastingPipeline) the transformers in MultiplexTransformer will either be
  applied to exogenous data, or to the target data.
  
  MultiplexTransformer delegates all transforming tasks (ie, calls to fit, transform,
  inverse_transform, and update) to a copy of the transformer in transformers
  whose name matches selected_transformer.  All other transformers in transformers
  will be ignored.
  
  Parameters
  ----------
  transformers : list of sktime transformers, or
      list of tuples (str, estimator) of named sktime transformers
      MultiplexTransformer can switch ("multiplex") between these transformers.
      Note - all the transformers passed in "transformers" should be thought of as
      blueprints.  Calling transformation functions on MultiplexTransformer will not
      change their state at all. - Rather a copy of each is created and this is what
      is updated.
  selected_transformer: str or None, optional, Default=None.
      If str, must be one of the transformer names.
          If passed in transformers were unnamed then selected_transformer must
          coincide with auto-generated name strings.
          To inspect auto-generated name strings, call get_params.
      If None, selected_transformer defaults to the name of the first transformer
         in transformers.
      selected_transformer represents the name of the transformer MultiplexTransformer
         should behave as (ie delegate all relevant transformation functionality to)
  
  Attributes
  ----------
  transformer_ : sktime transformer
      clone of the transformer named by selected_transformer to which all the
      transformation functionality is delegated to.
  _transformers : list of (name, est) tuples, where est are direct references to
      the estimators passed in transformers passed. If transformers was passed
      without names, those be auto-generated and put here.
  
  Examples
  --------
  >>> from sktime.datasets import load_shampoo_sales
  >>> from sktime.forecasting.naive import NaiveForecaster
  >>> from sktime.transformations.compose import MultiplexTransformer
  >>> from sktime.transformations.series.impute import Imputer
  >>> from sktime.forecasting.compose import TransformedTargetForecaster
  >>> from sktime.forecasting.model_selection import ForecastingGridSearchCV
  >>> from sktime.split import ExpandingWindowSplitter
  >>> # create MultiplexTransformer:
  >>> multiplexer = MultiplexTransformer(transformers=[
  ...     ("impute_mean", Imputer(method="mean", missing_values = -1)),
  ...     ("impute_near", Imputer(method="nearest", missing_values = -1)),
  ...     ("impute_rand", Imputer(method="random", missing_values = -1))])
  >>> cv = ExpandingWindowSplitter(
  ...     initial_window=24,
  ...     step_length=12,
  ...     fh=[1,2,3])
  >>> pipe = TransformedTargetForecaster(steps = [
  ...     ("multiplex", multiplexer),
  ...     ("forecaster", NaiveForecaster())
  ...     ])
  >>> gscv = ForecastingGridSearchCV(
  ...     cv=cv,
  ...     param_grid={"multiplex__selected_transformer":
  ...     ["impute_mean", "impute_near", "impute_rand"]},
  ...     forecaster=pipe,
  ...     )
  >>> y = load_shampoo_sales()
  >>> # randomly make some of the values nans:
  >>> y.loc[y.sample(frac=0.1).index] = -1
  >>> gscv = gscv.fit(y)
docstr: Magic | (or) method, return (right) concatenated MultiplexTransformer.
  
  Implemented for `other` being a transformer, otherwise returns `NotImplemented`.
  
  Parameters
  ----------
  other: `sktime` transformer, must inherit from BaseTransformer
      otherwise, `NotImplemented` is returned
  
  Returns
  -------
  MultiplexTransformer object, concatenation of `self` (first) with `other`
      (last).not nested, contains only non-MultiplexTransformer `sktime`
      transformers
  
  Raises
  ------
  ValueError if other is not of type MultiplexTransformer or BaseTransformer.
docstr_tok: ["Magic","|","(","or",")","method",",","return","(","right",")","concatenated","MultiplexTransformer",".","Implemented","for","`","other","`","being","a","transformer",",","otherwise","returns","`","NotImplemented","`",".","Parameters","--","--","--","--","--","other",":","`","sktime","`","transformer",",","must","inherit","from","BaseTransformer","otherwise",",","`","NotImplemented","`","is","returned","Returns","--","--","--","-","MultiplexTransformer","object",",","concatenation","of","`","self","`","(","first",")","with","`","other","`","(","last",")",".not","nested",",","contains","only","non-MultiplexTransformer","`","sktime","`","transformers","Raises","--","--","--","ValueError","if","other","is","not","of","type","MultiplexTransformer","or","BaseTransformer","."]
code: def __or__(self, other):
      """Magic | (or) method, return (right) concatenated MultiplexTransformer.
  
      Implemented for `other` being a transformer, otherwise returns `NotImplemented`.
  
      Parameters
      ----------
      other: `sktime` transformer, must inherit from BaseTransformer
          otherwise, `NotImplemented` is returned
  
      Returns
      -------
      MultiplexTransformer object, concatenation of `self` (first) with `other`
          (last).not nested, contains only non-MultiplexTransformer `sktime`
          transformers
  
      Raises
      ------
      ValueError if other is not of type MultiplexTransformer or BaseTransformer.
      """
      other = _coerce_to_sktime(other)
      return self._dunder_concat(
          other=other,
          base_class=BaseTransformer,
          composite_class=MultiplexTransformer,
          attr_name="transformers",
          concat_order="left",
      )
  
file_path: sktime/sktime/transformations/compose/_multiplex.py
imports: from sktime.base._meta import _HeterogenousMetaEstimator
  from sktime.datatypes import ALL_TIME_SERIES_MTYPES
  from sktime.transformations._delegate import _DelegatedTransformer
  from sktime.transformations.base import BaseTransformer
  from sktime.transformations.compose._common import _coerce_to_sktime
label_desc: Use image node_id 7 for calling the MultiplexTransformer obj's underlying member method code with example usage: obj.__or__(other) and returns: self