class_docstr: General class for handling a Gaussian Process in GPyOpt.
  
  :param kernel: GPy kernel to use in the GP model.
  :param noise_var: value of the noise variance if known.
  :param exact_feval: whether noiseless evaluations are available. IMPORTANT to make the optimization work well in noiseless scenarios (default, False).
  :param n_samples: number of MCMC samples.
  :param n_burnin: number of samples not used.
  :param subsample_interval: sub-sample interval in the MCMC.
  :param step_size: step-size in the MCMC.
  :param leapfrog_steps: ??
  :param verbose: print out the model messages (default, False).
  
  .. Note:: This model does MCMC over the hyperparameters.
docstr: Updates the model with new observations.
docstr_tok: ["Updates","the","model","with","new","observations","."]
code: def updateModel(self, X_all, Y_all, X_new, Y_new):
      """
      Updates the model with new observations.
      """
  
      if self.model is None:
          self._create_model(X_all, Y_all)
      else:
          self.model.set_XY(X_all, Y_all)
  
      # update the model generating hmc samples
      self.model.optimize(max_iters=200)
      self.model.param_array[:] = self.model.param_array * (
          1.0 + np.random.randn(self.model.param_array.size) * 0.01
      )
      self.hmc = GPy.inference.mcmc.HMC(
          self.model, stepsize=self.step_size
      )
      ss = self.hmc.sample(
          num_samples=self.n_burnin
          + self.n_samples * self.subsample_interval,
          hmc_iters=self.leapfrog_steps,
      )
      self.hmc_samples = ss[self.n_burnin :: self.subsample_interval]
  
imports: import numpy
  import GPy
  from .base import BOModel
label_desc: Use image node_id 3 for calling the GPModel_MCMC obj's underlying member method code with example usage: obj.updateModel(X_all, Y_all, X_new, Y_new) without return types