code: def get_mixed_gp(
      cat_dims, cont_dims, seed, noise=1e-3, normalize_y=True
  ):
      from smac.model.gaussian_process.kernels import (
          ConstantKernel,
          HammingKernel,
          MaternKernel,
          WhiteKernel,
      )
  
      cat_dims = np.array(cat_dims, dtype=int)
      cont_dims = np.array(cont_dims, dtype=int)
  
      cov_amp = ConstantKernel(
          2.0,
          constant_value_bounds=(1e-10, 2),
          prior=LogNormalPrior(mean=0.0, sigma=1.0, seed=seed),
      )
  
      exp_kernel = MaternKernel(
          np.ones([len(cont_dims)]),
          [(np.exp(-10), np.exp(2)) for _ in range(len(cont_dims))],
          nu=2.5,
          operate_on=cont_dims,
      )
  
      ham_kernel = HammingKernel(
          np.ones([len(cat_dims)]),
          [(np.exp(-10), np.exp(2)) for _ in range(len(cat_dims))],
          operate_on=cat_dims,
      )
  
      noise_kernel = WhiteKernel(
          noise_level=noise,
          noise_level_bounds=(1e-10, 2),
          prior=HorseshoePrior(scale=0.1, seed=seed),
      )
  
      kernel = cov_amp * (exp_kernel * ham_kernel) + noise_kernel
  
      cs = ConfigurationSpace()
      for c in cont_dims:
          cs.add_hyperparameter(
              UniformFloatHyperparameter("X%d" % c, 0, 1)
          )
      for c in cat_dims:
          cs.add_hyperparameter(
              CategoricalHyperparameter("X%d" % c, [0, 1, 2, 3])
          )
  
      rs = np.random.RandomState(seed)
  
      model = GaussianProcess(
          configspace=cs,
          kernel=kernel,
          normalize_y=normalize_y,
          seed=rs.randint(low=1, high=10000),
      )
  
      return model
  
imports: from unittest.mock import patch
  import numpy
  import pytest
  import scipy.optimize
  import sklearn.datasets
  import sklearn.model_selection
  from ConfigSpace import CategoricalHyperparameter, ConfigurationSpace, EqualsCondition, UniformFloatHyperparameter
  from smac.model.gaussian_process.gaussian_process import GaussianProcess
  from smac.model.gaussian_process.priors import HorseshoePrior, LogNormalPrior
  from smac.utils.configspace import convert_configurations_to_array
label_desc: Use image node_id 4 for calling a global function with example usage: get_mixed_gp(cat_dims, cont_dims, seed, noise, normalize_y) and returns: model