class_docstr: Base class for hyper parameter search with cross-validation.
code: def _parse_options(self, params):
      # As sim_options and bsl_options are dictionaries, they require a
      # special treatment.
  
      if "sim_options" in params:
          sim_options = params["sim_options"]
          sim_options_list = [
              dict(zip(sim_options, v))
              for v in product(*sim_options.values())
          ]
          params["sim_options"] = sim_options_list
  
      if "bsl_options" in params:
          bsl_options = params["bsl_options"]
          bsl_options_list = [
              dict(zip(bsl_options, v))
              for v in product(*bsl_options.values())
          ]
          params["bsl_options"] = bsl_options_list
  
      return params
  
imports: from abc import ABC, abstractmethod
  from itertools import product
  import numpy
  from joblib import delayed, Parallel
  from ..dataset import DatasetUserFolds
  from ..utils import get_rng
  from .split import get_cv
  from .validation import fit_and_score
label_desc: Use image node_id 2 for calling the BaseSearchCV obj's underlying member method code with example usage: obj._parse_options(params) and returns: params