code: def _load_experiment(
      cls,
      path_or_file: Union[str, os.PathLike, BinaryIO],
      cloudpickle_kwargs=None,
      preprocess_data: bool = True,
      **kwargs,
  ):
      cloudpickle_kwargs = cloudpickle_kwargs or {}
      try:
          loaded_exp: _PyCaretExperiment = cloudpickle.load(
              path_or_file, **cloudpickle_kwargs
          )
      except TypeError:
          with open(path_or_file, mode="rb") as f:
              loaded_exp: _PyCaretExperiment = cloudpickle.load(
                  f, **cloudpickle_kwargs
              )
      original_state = loaded_exp.__dict__.copy()
      new_params = kwargs
      setup_params = loaded_exp._setup_params or {}
      setup_params = setup_params.copy()
      setup_params.update(
          {
              k: v
              for k, v in new_params.items()
              if k in inspect.signature(cls.setup).parameters
          }
      )
  
      if preprocess_data and not setup_params.get("data_func", None):
          loaded_exp.setup(
              **setup_params,
          )
      else:
          data = new_params.get("data", None)
          data_func = new_params.get("data_func", None)
          if (data is None and data_func is None) or (
              data is not None and data_func is not None
          ):
              raise ValueError(
                  "One and only one of data and data_func must be set"
              )
          for key, value in new_params.items():
              setattr(loaded_exp, key, value)
          original_state["_setup_params"] = setup_params
  
      loaded_exp.__dict__.update(original_state)
      return loaded_exp
  
imports: import inspect
  import os
  import warnings
  from collections import defaultdict
  from typing import Any, BinaryIO, Callable, Dict, Optional, Union
  import cloudpickle
  import pandas
  import pycaret.internal.patches.sklearn
  import pycaret.internal.patches.yellowbrick
  import pycaret.internal.persistence
  from pycaret.internal.logging import get_logger
  from pycaret.utils.constants import DATAFRAME_LIKE
  from pycaret.utils.generic import LazyExperimentMapping
label_desc: Use image node_id 20 for calling the _PyCaretExperiment obj's underlying member method code with example usage: obj._load_experiment(cls, path_or_file, cloudpickle_kwargs, preprocess_data) and returns: loaded_exp