class_docstr: Parallelization is based predominantly on [1]. Also similar to [2]
  
  Ref:
  [1] https://github.com/scikit-learn/scikit-learn/blob/0.24.1/sklearn/model_selection/_search.py#L795
  [2] https://github.com/scikit-optimize/scikit-optimize/blob/v0.8.1/skopt/searchcv.py#L410
class_docstr_tok: ["Parallelization","is","based","predominantly","on","[","1","]",".","Also","similar","to","[","2","]","Ref",":","[","1","]","https",":","\/\/github.com\/scikit-learn\/scikit-learn\/blob\/0.24.1\/sklearn\/model_selection\/_search.py","#","L795","[","2","]","https",":","\/\/github.com\/scikit-optimize\/scikit-optimize\/blob\/v0.8.1\/skopt\/searchcv.py","#","L410"]
docstr: Base Grid Search Object
  
  Parameters
  ----------
  pipeline : ForecastingPipeline
      Forecasting Pipeline that needs to be used for Grid Search.
  cv : Union[ExpandingWindowSplitter, SlidingWindowSplitter]
      The sktime compatible cross-validation object.
  alpha: Optional[float]
      The alpha (quantile) value to use for the point predictions.
  coverage: Union[float, List[float]]
      The coverage to be used for prediction intervals.
  n_jobs : Optional[int]
      Number of cores to use to parallelize. Refer to sklearn for details,
      by default None
  pre_dispatch : _type_, optional
      Pre dispatch to use for Parallelization, by default None
  refit : bool, optional
      Should the pipeline be refit on the best parameters from the grid search,
      by default False
  refit_metric : str, optional
      Metric to use to decide the best parameters for refitting, by default "smape"
  scoring : Dict[str, Union[str, _PredictScorer]]
      Scoring Dictionary. Values can be valid strings that can be converted to
      callable metrics or the callable metrics directly
      e.g.
          {
              'mae': make_scorer(mean_absolute_error, greater_is_better=False)
              ,'r2': make_scorer(r2_score)
          }
  verbose : int, optional
      Verbosity to use, by default 0
  error_score : float, optional
      Unused for now, by default 0
  return_train_score : bool
      Should the training scores be returned. Unused for now, by default None
docstr_tok: ["Base","Grid","Search","Object","Parameters","--","--","--","--","--","pipeline",":","ForecastingPipeline","Forecasting","Pipeline","that","needs","to","be","used","for","Grid","Search",".","cv",":","Union","[","ExpandingWindowSplitter",",","SlidingWindowSplitter","]","The","sktime","compatible","cross-validation","object",".","alpha",":","Optional","[","float","]","The","alpha","(","quantile",")","value","to","use","for","the","point","predictions",".","coverage",":","Union","[","float",",","List","[","float","]","]","The","coverage","to","be","used","for","prediction","intervals",".","n_jobs",":","Optional","[","int","]","Number","of","cores","to","use","to","parallelize",".","Refer","to","sklearn","for","details",",","by","default","None","pre_dispatch",":","_type_",",","optional","Pre","dispatch","to","use","for","Parallelization",",","by","default","None","refit",":","bool",",","optional","Should","the","pipeline","be","refit","on","the","best","parameters","from","the","grid","search",",","by","default","False","refit_metric",":","str",",","optional","Metric","to","use","to","decide","the","best","parameters","for","refitting",",","by","default","``","smape","''","scoring",":","Dict","[","str",",","Union","[","str",",","_PredictScorer","]","]","Scoring","Dictionary",".","Values","can","be","valid","strings","that","can","be","converted","to","callable","metrics","or","the","callable","metrics","directly","e.g",".","{","'mae","'",":","make_scorer","(","mean_absolute_error",",","greater_is_better=False",")",",","'r2","'",":","make_scorer","(","r2_score",")","}","verbose",":","int",",","optional","Verbosity","to","use",",","by","default","0","error_score",":","float",",","optional","Unused","for","now",",","by","default","0","return_train_score",":","bool","Should","the","training","scores","be","returned",".","Unused","for","now",",","by","default","None"]
code: def __init__(
      self,
      pipeline: ForecastingPipeline,
      cv: Union[ExpandingWindowSplitter, SlidingWindowSplitter],
      alpha: Optional[float],
      coverage: Union[float, List[float]],
      n_jobs=None,
      pre_dispatch=None,
      refit: bool = False,
      refit_metric: str = "smape",
      scoring=None,
      verbose=0,
      error_score=None,
      return_train_score=None,
  ):
      """Base Grid Search Object
  
      Parameters
      ----------
      pipeline : ForecastingPipeline
          Forecasting Pipeline that needs to be used for Grid Search.
      cv : Union[ExpandingWindowSplitter, SlidingWindowSplitter]
          The sktime compatible cross-validation object.
      alpha: Optional[float]
          The alpha (quantile) value to use for the point predictions.
      coverage: Union[float, List[float]]
          The coverage to be used for prediction intervals.
      n_jobs : Optional[int]
          Number of cores to use to parallelize. Refer to sklearn for details,
          by default None
      pre_dispatch : _type_, optional
          Pre dispatch to use for Parallelization, by default None
      refit : bool, optional
          Should the pipeline be refit on the best parameters from the grid search,
          by default False
      refit_metric : str, optional
          Metric to use to decide the best parameters for refitting, by default "smape"
      scoring : Dict[str, Union[str, _PredictScorer]]
          Scoring Dictionary. Values can be valid strings that can be converted to
          callable metrics or the callable metrics directly
          e.g.
              {
                  'mae': make_scorer(mean_absolute_error, greater_is_better=False)
                  ,'r2': make_scorer(r2_score)
              }
      verbose : int, optional
          Verbosity to use, by default 0
      error_score : float, optional
          Unused for now, by default 0
      return_train_score : bool
          Should the training scores be returned. Unused for now, by default None
      """
      self.pipeline = pipeline
      self.cv = cv
      self.alpha = alpha
      self.coverage = coverage
      self.n_jobs = n_jobs
      self.pre_dispatch = pre_dispatch
      self.refit = refit
      self.refit_metric = refit_metric
      self.scoring = scoring
      self.verbose = verbose
      self.error_score = error_score
      self.return_train_score = return_train_score
  
      self.best_params_ = {}
      self.cv_results_ = {}
  
imports: import time
  import warnings
  from collections import defaultdict
  from functools import partial
  from typing import Any, Dict, Generator, List, Optional, Tuple, Union
  import numpy
  import pandas
  from joblib import Parallel, delayed
  from scipy.stats import rankdata
  from sklearn.base import clone
  from sklearn.metrics._scorer import _PredictScorer
  from sklearn.model_selection import ParameterGrid, ParameterSampler, check_cv
  from sklearn.model_selection._validation import _aggregate_score_dicts
  from sktime.forecasting.compose import ForecastingPipeline
  from sktime.forecasting.model_selection import ExpandingWindowSplitter, SlidingWindowSplitter
  from sktime.utils.validation.forecasting import check_y_X
  from pycaret.internal.logging import get_logger
  from pycaret.utils.generic import _get_metrics_dict, get_function_params
  from pycaret.utils.time_series.forecasting import get_predictions_with_intervals, update_additional_scorer_kwargs
  from pycaret.utils.time_series.forecasting.pipeline import _get_imputed_data
label_desc: Use image node_id 1 to create a new BaseGridSearch object  with example: obj = BaseGridSearch(pipeline, cv, alpha, coverage, n_jobs, pre_dispatch, refit, refit_metric, scoring, verbose, error_score, return_train_score)