kernel = GPy.kern.Matern52(input_dim=dims, lengthscale=0.01) model = GPyModel(kernel, optimize=True, noise_variance=1e-8, num_restarts=10) acquisition_func = EI(model, X_upper=X_upper, X_lower=X_lower, compute_incumbent=compute_incumbent, par=0.1) maximizer = DIRECT bo = BayesianOptimization(acquisition_fkt=acquisition_func, model=model, maximize_fkt=maximizer, X_lower=X_lower, X_upper=X_upper, dims=dims, objective_fkt=objective_function) bo.run(num_iterations=5) X, Y = bo.get_observations() X = X[:-1] Y = Y[:-1] model = bo.get_model() f, (ax1, ax2) = plt.subplots(2, sharex=True) ax1 = plot_model(model, X_lower, X_upper, ax1) ax1 = plot_objective_function(objective_function, X_lower, X_upper, X, Y, ax1) ax1.legend() acquisition_func = EI(model, X_upper=X_upper, X_lower=X_lower, compute_incumbent=compute_incumbent, par=0.1) ax2 = plot_acquisition_function(acquisition_func, X_lower, X_upper, ax2) plt.legend() plt.savefig("bo.png")