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: Get fitted parameters.
  
  State required:
      Requires state to be "fitted".
  
  Parameters
  ----------
  deep : bool, default=True
      Whether to return fitted parameters of components.
  
      * If True, will return a dict of parameter name : value for this object,
        including fitted parameters of fittable components
        (= BaseEstimator-valued parameters).
      * If False, will return a dict of parameter name : value for this object,
        but not include fitted parameters of components.
  
  Returns
  -------
  fitted_params : dict with str-valued keys
      Dictionary of fitted parameters, paramname : paramvalue
      keys-value pairs include:
  
      * always: all fitted parameters of this object, as via `get_param_names`
        values are fitted parameter value for that key, of this object
      * if `deep=True`, also contains keys/value pairs of component parameters
        parameters of components are indexed as `[componentname]__[paramname]`
        all parameters of `componentname` appear as `paramname` with its value
      * if `deep=True`, also contains arbitrary levels of component recursion,
        e.g., `[componentname]__[componentcomponentname]__[paramname]`, etc
docstr_tok: ["Get","fitted","parameters",".","State","required",":","Requires","state","to","be","``","fitted","''",".","Parameters","--","--","--","--","--","deep",":","bool",",","default=True","Whether","to","return","fitted","parameters","of","components",".","*","If","True",",","will","return","a","dict","of","parameter","name",":","value","for","this","object",",","including","fitted","parameters","of","fittable","components","(","=","BaseEstimator-valued","parameters",")",".","*","If","False",",","will","return","a","dict","of","parameter","name",":","value","for","this","object",",","but","not","include","fitted","parameters","of","components",".","Returns","--","--","--","-","fitted_params",":","dict","with","str-valued","keys","Dictionary","of","fitted","parameters",",","paramname",":","paramvalue","keys-value","pairs","include",":","*","always",":","all","fitted","parameters","of","this","object",",","as","via","`","get_param_names","`","values","are","fitted","parameter","value","for","that","key",",","of","this","object","*","if","`","deep=True","`",",","also","contains","keys\/value","pairs","of","component","parameters","parameters","of","components","are","indexed","as","`","[","componentname","]","__","[","paramname","]","`","all","parameters","of","`","componentname","`","appear","as","`","paramname","`","with","its","value","*","if","`","deep=True","`",",","also","contains","arbitrary","levels","of","component","recursion",",","e.g.",",","`","[","componentname","]","__","[","componentcomponentname","]","__","[","paramname","]","`",",","etc"]
code: def get_fitted_params(self, deep=True):
      """Get fitted parameters.
  
      State required:
          Requires state to be "fitted".
  
      Parameters
      ----------
      deep : bool, default=True
          Whether to return fitted parameters of components.
  
          * If True, will return a dict of parameter name : value for this object,
            including fitted parameters of fittable components
            (= BaseEstimator-valued parameters).
          * If False, will return a dict of parameter name : value for this object,
            but not include fitted parameters of components.
  
      Returns
      -------
      fitted_params : dict with str-valued keys
          Dictionary of fitted parameters, paramname : paramvalue
          keys-value pairs include:
  
          * always: all fitted parameters of this object, as via `get_param_names`
            values are fitted parameter value for that key, of this object
          * if `deep=True`, also contains keys/value pairs of component parameters
            parameters of components are indexed as `[componentname]__[paramname]`
            all parameters of `componentname` appear as `paramname` with its value
          * if `deep=True`, also contains arbitrary levels of component recursion,
            e.g., `[componentname]__[componentcomponentname]__[paramname]`, etc
      """
      # if self is not vectorized, run the default get_fitted_params
      if not getattr(self, "_is_vectorized", False):
          return super().get_fitted_params(deep=deep)
  
      # otherwise, we delegate to the instances' get_fitted_params
      # instances' parameters are returned at dataframe-slice-like keys
      fitted_params = {}
  
      # forecasters contains a pd.DataFrame with the individual forecasters
      forecasters = self.forecasters_
  
      # return forecasters in the "forecasters" param
      fitted_params["forecasters"] = forecasters
  
      def _to_str(x):
          if isinstance(x, str):
              x = f"'{x}'"
          return str(x)
  
      # populate fitted_params with forecasters and their parameters
      for ix, col in product(forecasters.index, forecasters.columns):
          fcst = forecasters.loc[ix, col]
          fcst_key = f"forecasters.loc[{_to_str(ix)},{_to_str(col)}]"
          fitted_params[fcst_key] = fcst
          fcst_params = fcst.get_fitted_params(deep=deep)
          for key, val in fcst_params.items():
              fitted_params[f"{fcst_key}__{key}"] = val
  
      return fitted_params
  
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 19 for calling the BaseForecaster obj's underlying member method code with example usage: obj.get_fitted_params(deep) and returns: fitted_params, super, str