class_docstr: Plugs parameters from a parameter estimator into a forecaster.
  
  In `fit`, first fits `param_est` to data passed:
  
  * `y` of `fit` is passed as the first arg to `param_est.fit`
  * `X` of `fit` is passed as the second arg, if `param_est.fit` has a second arg
  * `fh` of `fit` is passed as `fh`, if any remaining arg of `param_est.fit` is `fh`
  
  Then, does `forecaster.set_params` with desired/selected parameters.
  Parameters of the fitted `param_est` are passed on to `forecaster`,
  from/to pairs are as specified by the `params` parameter of `self`, see below.
  
  Then, fits `forecaster` to the data passed in `fit`.
  
  After that, behaves identically to `forecaster` with those parameters set.
  `update` behaviour is controlled by the `update_params` parameter.
  
  Example: `param_est` seasonality test to determine `sp` parameter;
      `forecaster` being any forecaster with an `sp` parameter.
  
  Parameters
  ----------
  param_est : sktime estimator object with a fit method, inheriting from BaseEstimator
      e.g., estimator inheriting from BaseParamFitter or forecaster
      this is a "blueprint" estimator, state does not change when `fit` is called
  forecaster : sktime forecaster, i.e., estimator inheriting from BaseForecaster
      this is a "blueprint" estimator, state does not change when `fit` is called
  params : None, str, list of str, dict with str values/keys, optional, default=None
      determines which parameters from param_est are plugged into forecaster and where
      None: all parameters of param_est are plugged into forecaster
          only parameters present in both `forecaster` and `param_est` are plugged in
      list of str: parameters in the list are plugged into parameters of the same name
          only parameters present in both `forecaster` and `param_est` are plugged in
      str: considered as a one-element list of str with the string as single element
      dict: parameter with name of value is plugged into parameter with name of key
          only keys present in `param_est` and values in `forecaster` are plugged in
  update_params : bool, optional, default=False
      whether fitted parameters by param_est_ are to be updated in self.update
  
  Attributes
  ----------
  param_est_ : sktime parameter estimator, clone of estimator in `param_est`
      this clone is fitted in the pipeline when `fit` is called
  forecaster_ : sktime forecaster, clone of forecaster in `forecaster`
      this clone is fitted in the pipeline when `fit` is called
  param_map_ : dict
      mapping of parameters from `param_est_` to `forecaster_` used in `fit`,
      after filtering for parameters present in both
  
  Examples
  --------
  >>> from sktime.datasets import load_airline
  >>> from sktime.forecasting.naive import NaiveForecaster
  >>> from sktime.param_est.plugin import PluginParamsForecaster
  >>> from sktime.param_est.seasonality import SeasonalityACF
  >>> from sktime.transformations.series.difference import Differencer
  >>>
  >>> y = load_airline()  # doctest: +SKIP
  >>> sp_est = Differencer() * SeasonalityACF()  # doctest: +SKIP
  >>> fcst = NaiveForecaster()  # doctest: +SKIP
  >>> sp_auto = PluginParamsForecaster(sp_est, fcst)  # doctest: +SKIP
  >>> sp_auto.fit(y, fh=[1, 2, 3])  # doctest: +SKIP
  PluginParamsForecaster(...)
  >>> y_pred = sp_auto.predict()  # doctest: +SKIP
  >>> sp_auto.forecaster_.get_params()["sp"]  # doctest: +SKIP
  12
  
  using dictionary to plug "foo" parameter into "sp"
  
  >>> from sktime.param_est.fixed import FixedParams
  >>> sp_plugin = PluginParamsForecaster(
  ...     FixedParams({"foo": 12}), NaiveForecaster(), params={"foo": "sp"}
  ... )  # doctest: +SKIP
docstr: Return testing parameter settings for the estimator.
  
  Parameters
  ----------
  parameter_set : str, default="default"
      Name of the set of test parameters to return, for use in tests. If no
      special parameters are defined for a value, will return `"default"` set.
      There are currently no reserved values for transformers.
  
  Returns
  -------
  params : dict or list of dict, default = {}
      Parameters to create testing instances of the class
      Each dict are parameters to construct an "interesting" test instance, i.e.,
      `MyClass(**params)` or `MyClass(**params[i])` creates a valid test instance.
      `create_test_instance` uses the first (or only) dictionary in `params`
docstr_tok: ["Return","testing","parameter","settings","for","the","estimator",".","Parameters","--","--","--","--","--","parameter_set",":","str",",","default=","''","default","''","Name","of","the","set","of","test","parameters","to","return",",","for","use","in","tests",".","If","no","special","parameters","are","defined","for","a","value",",","will","return","`","``","default","''","`","set",".","There","are","currently","no","reserved","values","for","transformers",".","Returns","--","--","--","-","params",":","dict","or","list","of","dict",",","default","=","{","}","Parameters","to","create","testing","instances","of","the","class","Each","dict","are","parameters","to","construct","an","``","interesting","''","test","instance",",","i.e.",",","`","MyClass","(","*","*","params",")","`","or","`","MyClass","(","*","*","params","[","i","]",")","`","creates","a","valid","test","instance",".","`","create_test_instance","`","uses","the","first","(","or","only",")","dictionary","in","`","params","`"]
code: def get_test_params(cls, parameter_set="default"):
      """Return testing parameter settings for the estimator.
  
      Parameters
      ----------
      parameter_set : str, default="default"
          Name of the set of test parameters to return, for use in tests. If no
          special parameters are defined for a value, will return `"default"` set.
          There are currently no reserved values for transformers.
  
      Returns
      -------
      params : dict or list of dict, default = {}
          Parameters to create testing instances of the class
          Each dict are parameters to construct an "interesting" test instance, i.e.,
          `MyClass(**params)` or `MyClass(**params[i])` creates a valid test instance.
          `create_test_instance` uses the first (or only) dictionary in `params`
      """
      from sktime.forecasting.naive import NaiveForecaster
      from sktime.param_est.fixed import FixedParams
      from sktime.param_est.seasonality import SeasonalityACF
      from sktime.utils.validation._dependencies import (
          _check_estimator_deps,
      )
  
      # use of dictionary to plug "foo" parameter into "sp", uses mock param_est
      params1 = {
          "forecaster": NaiveForecaster(),
          "param_est": FixedParams({"foo": 12}),
          "params": {"foo": "sp"},
      }
      params = [params1]
  
      # uses a "real" param est that depends on statsmodels, requires statsmodels
      if _check_estimator_deps(SeasonalityACF, severity="none"):
          # explicit reference to a parameter "sp", present in both estimators
          params2 = {
              "forecaster": NaiveForecaster(),
              "param_est": SeasonalityACF(),
              "params": "sp",
          }
          params = params + [params2]
  
          # no params given, this should recognize that the intersection is only "sp"
          params3 = {
              "forecaster": NaiveForecaster(),
              "param_est": SeasonalityACF(),
              "update_params": True,
          }
          params = params + [params3]
  
      return params
  
imports: from inspect import signature
  from sktime.forecasting.base._delegate import _DelegatedForecaster
label_desc: Use image node_id 4 for calling the PluginParamsForecaster obj's underlying member method code with example usage: obj.get_test_params(cls, parameter_set) and returns: params