(self, kernel, prior=None, n_hypers=20, chain_length=2000, burnin_steps=2000,
                 normalize_output=False, normalize_input=True,
                 rng=None, lower=None, upper=None, noise=-8)
GaussianProcess model based on the george GP library that uses MCMC
        sampling to marginalise over the hyperparmeters. If you use this class
        make sure that you also use the IntegratedAcqusition function to
        integrate over the GP's hyperparameter as proposed by Snoek et al.

        Parameters
        ----------
        kernel : george kernel object
            Specifies the kernel that is used for all Gaussian Process
        prior : prior object
            Defines a prior for the hyperparameters of the GP. Make sure that
            it implements the Prior interface. During MCMC sampling the
            lnlikelihood is multiplied with the prior.
        n_hypers : int
            The number of hyperparameter samples. This also determines the
            number of walker for MCMC sampling as each walker will
            return one hyperparameter sample.
        chain_length : int
            The length of the MCMC chain. We start n_hypers walker for
            chain_length steps and we use the last sample
            in the chain as a hyperparameter sample.
        lower : np.array(D,)
            Lower bound of the input space which is used for the input space normalization
        upper : np.array(D,)
            Upper bound of the input space which is used for the input space normalization
        burnin_steps : int
            The number of burnin steps before the actual MCMC sampling starts.
        rng: np.random.RandomState
            Random number generator
GaussianProcess model based on the george GP library that uses MCMC
        sampling to marginalise over the hyperparmeters. If you use this class
        make sure that you also use the IntegratedAcqusition function to
        integrate over the GP's hyperparameter as proposed by Snoek et al.
GaussianProcess model based on the george GP library that uses MCMC sampling to marginalise over the hyperparmeters . If you use this class make sure that you also use the IntegratedAcqusition function to integrate over the GP s hyperparameter as proposed by Snoek et al .
def __init__(self, kernel, prior=None, n_hypers=20, chain_length=2000, burnin_steps=2000,
                 normalize_output=False, normalize_input=True,
                 rng=None, lower=None, upper=None, noise=-8):
        """
        GaussianProcess model based on the george GP library that uses MCMC
        sampling to marginalise over the hyperparmeters. If you use this class
        make sure that you also use the IntegratedAcqusition function to
        integrate over the GP's hyperparameter as proposed by Snoek et al.

        Parameters
        ----------
        kernel : george kernel object
            Specifies the kernel that is used for all Gaussian Process
        prior : prior object
            Defines a prior for the hyperparameters of the GP. Make sure that
            it implements the Prior interface. During MCMC sampling the
            lnlikelihood is multiplied with the prior.
        n_hypers : int
            The number of hyperparameter samples. This also determines the
            number of walker for MCMC sampling as each walker will
            return one hyperparameter sample.
        chain_length : int
            The length of the MCMC chain. We start n_hypers walker for
            chain_length steps and we use the last sample
            in the chain as a hyperparameter sample.
        lower : np.array(D,)
            Lower bound of the input space which is used for the input space normalization
        upper : np.array(D,)
            Upper bound of the input space which is used for the input space normalization
        burnin_steps : int
            The number of burnin steps before the actual MCMC sampling starts.
        rng: np.random.RandomState
            Random number generator
        """

        if rng is None:
            self.rng = np.random.RandomState(np.random.randint(0, 10000))
        else:
            self.rng = rng

        self.kernel = kernel
        self.prior = prior
        self.noise = noise
        self.n_hypers = n_hypers
        self.chain_length = chain_length
        self.burned = False
        self.burnin_steps = burnin_steps
        self.models = []
        self.normalize_output = normalize_output
        self.normalize_input = normalize_input
        self.X = None
        self.y = None
        self.is_trained = False

        self.lower = lower
        self.upper = upper
def __init__ ( self , kernel , prior = None , n_hypers = 20 , chain_length = 2000 , burnin_steps = 2000 , normalize_output = False , normalize_input = True , rng = None , lower = None , upper = None , noise = - 8 ) : if rng is None : self . rng = np . random . RandomState ( np . random . randint ( 0 , 10000 ) ) else : self . rng = rng self . kernel = kernel self . prior = prior self . noise = noise self . n_hypers = n_hypers self . chain_length = chain_length self . burned = False self . burnin_steps = burnin_steps self . models = [ ] self . normalize_output = normalize_output self . normalize_input = normalize_input self . X = None self . y = None self . is_trained = False self . lower = lower self . upper = upper