code: def _create_model(self, X, Y):
      # --- define kernel
      self.input_dim = X.shape[1]
      if self.kernel is None:
          self.kernel = GPy.kern.Matern32(
              self.input_dim, variance=1.0
          )  # + GPy.kern.Bias(self.input_dim)
      else:
          self.kernel = self.kernel
  
      # --- define model
      noise_var = (
          Y.var() * 0.01 if self.noise_var is None else self.noise_var
      )
  
      self.model = GPy.models.WarpedGP(
          X,
          Y,
          kernel=self.kernel,
          warping_function=self.warping_function,
          warping_terms=self.warping_terms,
      )
  
      # --- restrict variance if exact evaluations of the objective
      if self.exact_feval:
          self.model.Gaussian_noise.constrain_fixed(1e-6, warning=False)
      else:
          self.model.Gaussian_noise.constrain_positive(warning=False)
  
file_path: GPyOpt/GPyOpt/models/warpedgpmodel.py
imports: import numpy
  import GPy
  from .base import BOModel
label_desc: Use image node_id 2 for calling the WarpedGPModel obj's underlying member method code with example usage: obj._create_model(X, Y) without return types