gpr.Gaussian_noise.variance = noise**2 gpr.Gaussian_noise.variance.fix() # Run optimization gpr.optimize() # Obtain optimized kernel parameters l = gpr.rbf.lengthscale.values[0] sigma_f = np.sqrt(gpr.rbf.variance.values[0]) # Compare with previous results assert (np.isclose(l_opt, l)) assert (np.isclose(sigma_f_opt, sigma_f)) # Plot the results with the built-in plot function gpr.plot() import numpy as np from sklearn.gaussian_process import GaussianProcess from matplotlib import pyplot as pl np.random.seed(1) def f(x): """The function to predict.""" return x * np.sin(x) #---------------------------------------------------------------------- # First the noiseless case
# https://sheffieldml.github.io/GPy/ # See also https://gpytorch.ai/ #import sys #sys.path.append("/home/kpmurphy/github/GPy") import GPy rbf = GPy.kern.RBF(input_dim=1, variance=1.0, lengthscale=1.0) gpr = GPy.models.GPRegression(X_train, Y_train, rbf) # Fix the noise variance to known value gpr.Gaussian_noise.variance = noise**2 gpr.Gaussian_noise.variance.fix() # Run optimization gpr.optimize(); # Display optimized parameter values #display(gpr) # Obtain optimized kernel parameters l = gpr.rbf.lengthscale.values[0] sigma_f = np.sqrt(gpr.rbf.variance.values[0]) # Compare with previous results assert(np.isclose(l_opt, l)) assert(np.isclose(sigma_f_opt, sigma_f)) # Plot the results with the built-in plot function gpr.plot();