class_docstr: Class to handle extra configurations in the definition of the BayesianOptimization class
class_docstr_tok: ["Class","to","handle","extra","configurations","in","the","definition","of","the","BayesianOptimization","class"]
docstr: Model chooser from the available options. Extra parameters can be passed via **kwargs.
docstr_tok: ["Model","chooser","from","the","available","options",".","Extra","parameters","can","be","passed","via","*","*","kwargs","."]
code: def model_creator(self, model_type, exact_feval, space):
      """
      Model chooser from the available options. Extra parameters can be passed via **kwargs.
      """
      model_type = model_type
      exact_feval = exact_feval
      space = space
  
      kernel = self.kwargs.get("kernel", None)
      ARD = self.kwargs.get("ARD", False)
      verbosity_model = self.kwargs.get("verbosity_model", False)
      noise_var = self.kwargs.get("noise_var", None)
      model_optimizer_type = self.kwargs.get(
          "model_optimizer_type", "lbfgs"
      )
      max_iters = self.kwargs.get("max_iters", 1000)
      optimize_restarts = self.kwargs.get("optimize_restarts", 5)
  
      # --------
      # --- Initialize GP model with MLE on the parameters
      # --------
      if model_type == "GP" or model_type == "sparseGP":
          if model_type == "GP":
              sparse = False
          if model_type == "sparseGP":
              sparse = True
          optimize_restarts = self.kwargs.get("optimize_restarts", 5)
          num_inducing = self.kwargs.get("num_inducing", 10)
          return GPModel(
              kernel,
              noise_var,
              exact_feval,
              model_optimizer_type,
              max_iters,
              optimize_restarts,
              sparse,
              num_inducing,
              verbosity_model,
              ARD,
          )
  
      # --------
      # --- Initialize GP model with MCMC on the parameters
      # --------
      elif model_type == "GP_MCMC":
          n_samples = self.kwargs.get("n_samples", 10)
          n_burnin = self.kwargs.get("n_burnin", 100)
          subsample_interval = self.kwargs.get("subsample_interval", 10)
          step_size = self.kwargs.get("step_size", 1e-1)
          leapfrog_steps = self.kwargs.get("leapfrog_steps", 20)
          return GPModel_MCMC(
              kernel,
              noise_var,
              exact_feval,
              n_samples,
              n_burnin,
              subsample_interval,
              step_size,
              leapfrog_steps,
              verbosity_model,
          )
  
      # --------
      # --- Initialize RF: values taken from default in scikit-learn
      # --------
      elif model_type == "RF":
          return RFModel(verbose=verbosity_model)
  
      # --------
      # --- Initialize WapedGP in the outputs
      # --------
      elif model_type == "warpedGP":
          return WarpedGPModel()
  
      # --------
      # --- Initialize WapedGP in the inputs
      # --------
      elif model_type == "input_warped_GP":
          if "input_warping_function_type" in self.kwargs:
              if (
                  self.kwargs["input_warping_function_type"]
                  != "kumar_warping"
              ):
                  print("Only support kumar_warping for input!")
  
          # Only support Kumar warping now, setting it to None will use default Kumar warping
          input_warping_function = None
          optimize_restarts = self.kwargs.get("optimize_restarts", 5)
          return InputWarpedGPModel(
              space,
              input_warping_function,
              kernel,
              noise_var,
              exact_feval,
              model_optimizer_type,
              max_iters,
              optimize_restarts,
              verbosity_model,
              ARD,
          )
  
file_path: GPyOpt/GPyOpt/util/arguments_manager.py
imports: from ..models.gpmodel import GPModel, GPModel_MCMC
  from ..models.rfmodel import RFModel
  from ..models.warpedgpmodel import WarpedGPModel
  from ..models.input_warped_gpmodel import InputWarpedGPModel
  from ..core.evaluators import Sequential, RandomBatch, LocalPenalization, ThompsonBatch
  from ..acquisitions import AcquisitionEI, AcquisitionMPI, AcquisitionLCB, AcquisitionEI_MCMC, AcquisitionMPI_MCMC, AcquisitionLCB_MCMC, AcquisitionLP
  from ..core.errors import InvalidConfigError
label_desc: Use image node_id 4 for calling the ArgumentsManager obj's underlying member method code with example usage: obj.model_creator(model_type, exact_feval, space) and returns: GPModel, GPModel_MCMC, RFModel, WarpedGPModel, InputWarpedGPModel