class_docstr: Base forecaster template class.
  
  The base forecaster specifies the methods and method signatures that all forecasters
  have to implement.
  
  Specific implementations of these methods is deferred to concrete forecasters.
class_docstr_tok: ["Base","forecaster","template","class",".","The","base","forecaster","specifies","the","methods","and","method","signatures","that","all","forecasters","have","to","implement",".","Specific","implementations","of","these","methods","is","deferred","to","concrete","forecasters","."]
docstr: Magic * method, return (right) concatenated TransformedTargetForecaster.
  
  Implemented for `other` being a transformer, otherwise returns `NotImplemented`.
  
  Parameters
  ----------
  other: `sktime` transformer, must inherit from BaseTransformer
      otherwise, `NotImplemented` is returned
  
  Returns
  -------
  TransformedTargetForecaster object,
      concatenation of `self` (first) with `other` (last).
      not nested, contains only non-TransformerPipeline `sktime` transformers
docstr_tok: ["Magic","*","method",",","return","(","right",")","concatenated","TransformedTargetForecaster",".","Implemented","for","`","other","`","being","a","transformer",",","otherwise","returns","`","NotImplemented","`",".","Parameters","--","--","--","--","--","other",":","`","sktime","`","transformer",",","must","inherit","from","BaseTransformer","otherwise",",","`","NotImplemented","`","is","returned","Returns","--","--","--","-","TransformedTargetForecaster","object",",","concatenation","of","`","self","`","(","first",")","with","`","other","`","(","last",")",".","not","nested",",","contains","only","non-TransformerPipeline","`","sktime","`","transformers"]
code: def __mul__(self, other):
      """Magic * method, return (right) concatenated TransformedTargetForecaster.
  
      Implemented for `other` being a transformer, otherwise returns `NotImplemented`.
  
      Parameters
      ----------
      other: `sktime` transformer, must inherit from BaseTransformer
          otherwise, `NotImplemented` is returned
  
      Returns
      -------
      TransformedTargetForecaster object,
          concatenation of `self` (first) with `other` (last).
          not nested, contains only non-TransformerPipeline `sktime` transformers
      """
      from sktime.forecasting.compose import TransformedTargetForecaster
      from sktime.transformations.base import BaseTransformer
      from sktime.transformations.series.adapt import (
          TabularToSeriesAdaptor,
      )
      from sktime.utils.sklearn import is_sklearn_transformer
  
      # we wrap self in a pipeline, and concatenate with the other
      #   the TransformedTargetForecaster does the rest, e.g., dispatch on other
      if isinstance(other, BaseTransformer):
          self_as_pipeline = TransformedTargetForecaster(steps=[self])
          return self_as_pipeline * other
      elif is_sklearn_transformer(other):
          return self * TabularToSeriesAdaptor(other)
      else:
          return NotImplemented
  
imports: from copy import deepcopy
  from itertools import product
  import numpy
  import pandas
  from sktime.base import BaseEstimator
  from sktime.datatypes import VectorizedDF, check_is_scitype, convert_to, get_cutoff, mtype_to_scitype, scitype_to_mtype, update_data
  from sktime.forecasting.base._fh import ForecastingHorizon
  from sktime.utils.datetime import _shift
  from sktime.utils.validation._dependencies import _check_estimator_deps
  from sktime.utils.validation.forecasting import check_alpha, check_cv, check_fh, check_X
  from sktime.utils.validation.series import check_equal_time_index
  from sktime.utils.warnings import warn
label_desc: Use image node_id 2 for calling the BaseForecaster obj's underlying member method code with example usage: obj.__mul__(other) and returns: unknown, unknown, NotImplemented