class_docstr: Base container class, for easier definition of containers. Ensures consistent format
  before being turned into a dataframe row.
  
  Parameters
  ----------
  id : str
      ID used as index.
  name : str
      Full display name.
  class_def : type
      The class used for the model, eg. LogisticRegression.
  is_turbo : bool, default = True
      Should the model be used with 'turbo = True' in compare_models().
  args : dict, default = {} (empty dict)
      The arguments to always pass to constructor when initializing object of class_def class.
  
  Attributes
  ----------
  id : str
      ID used as index.
  name : str
      Full display name.
  class_def : type
      The class used for the model, eg. LogisticRegression.
  is_turbo : bool, default = True
      Should the model be used with 'turbo = True' in compare_models().
  args : dict, default = {} (empty dict)
      The arguments to always pass to constructor when initializing object of class_def class.
code: def __init__(
      self,
      id: str,
      name: str,
      class_def: type,
      args: Optional[Dict[str, Any]] = None,
  ) -> None:
      if not args:
          args = {}
      if not isinstance(args, dict):
          raise TypeError("args needs to be a dictionary.")
  
      self.id = id
      self.name = name
      self.class_def = class_def
      self.reference = self.get_class_name()
      self.args = args
      self.active = True
  
file_path: pycaret/pycaret/containers/base_container.py
imports: import inspect
  from typing import Any, Dict, Optional
  import pycaret.utils.generic
label_desc: Use image node_id 1 to create a new BaseContainer object  with example: obj = BaseContainer(id, name, class_def, args)