class_docstr: Base class for benchmarks.
  
  A benchmark consists of a set of tasks and a set of estimators.
  
  Parameters
  ----------
  id_format: str, optional (default=None)
      A regex used to enforce task/estimator ID to match a certain format
      if None, no format is enforced on task/estimator ID
docstr: Register an estimator to the benchmark.
  
  Parameters
  ----------
  estimator : Dict, List or BaseEstimator object
      Estimator to add to the benchmark.
      If Dict, keys are estimator_ids used to customise identifier ID
      and values are estimators.
      If List, each element is an estimator. estimator_ids are generated
      automatically using the estimator's class name.
  estimator_id : str, optional (default=None)
      Identifier for estimator. If none given then uses estimator's class name.
code: def add_estimator(
      self,
      estimator: BaseEstimator,
      estimator_id: Optional[str] = None,
  ):
      """Register an estimator to the benchmark.
  
      Parameters
      ----------
      estimator : Dict, List or BaseEstimator object
          Estimator to add to the benchmark.
          If Dict, keys are estimator_ids used to customise identifier ID
          and values are estimators.
          If List, each element is an estimator. estimator_ids are generated
          automatically using the estimator's class name.
      estimator_id : str, optional (default=None)
          Identifier for estimator. If none given then uses estimator's class name.
      """
      estimators = coerce_estimator_and_id(estimator, estimator_id)
      for estimator_id, estimator in estimators.items():
          estimator = estimator.clone()  # extra cautious
          self.estimators.register(
              id=estimator_id, entry_point=estimator.clone
          )
  
file_path: sktime/sktime/benchmarking/benchmarks.py
imports: from typing import Callable, Optional, Union
  import pandas
  from sktime.base import BaseEstimator
  from sktime.utils.validation._dependencies import _check_soft_dependencies
label_desc: Use image node_id 2 for calling the BaseBenchmark obj's underlying member method code with example usage: obj.add_estimator(estimator, estimator_id) without return types