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 a task to the benchmark.
code: def _add_task(
      self,
      task_entrypoint: Union[Callable, str],
      task_kwargs: Optional[dict] = None,
      task_id: Optional[str] = None,
  ):
      """Register a task to the benchmark."""
      task_id = task_id or (
          f"{task_entrypoint}"
          if isinstance(task_entrypoint, str)
          else f"{task_entrypoint.__name__}"
      )
      self.validations.register(
          id=task_id, entry_point=task_entrypoint, kwargs=task_kwargs
      )
  
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 3 for calling the BaseBenchmark obj's underlying member method code with example usage: obj._add_task(task_entrypoint, task_kwargs, task_id) without return types