def test_branin_2d_200(self): self.ndim = 2 self.nt = 200 self.ne = 200 prob = Branin(ndim=self.ndim) # training data sampling = FullFactorial(xlimits=prob.xlimits, clip=True) np.random.seed(0) xt = sampling(self.nt) yt = prob(xt) # mixture of experts moe = MOE(n_clusters=5) moe.set_training_values(xt, yt) moe.options["heaviside_optimization"] = True moe.train() # validation data np.random.seed(1) xe = sampling(self.ne) ye = prob(xe) rms_error = compute_rms_error(moe, xe, ye) self.assert_error(rms_error, 0.0, 1e-1) if TestMOE.plot: import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D y = moe.analyse_results(x=xe, operation="predict_values") plt.figure(1) plt.plot(ye, ye, "-.") plt.plot(ye, y, ".") plt.xlabel(r"$y$ actual") plt.ylabel(r"$y$ prediction") fig = plt.figure(2) ax = fig.add_subplot(111, projection="3d") ax.scatter(xt[:, 0], xt[:, 1], yt) plt.title("Branin function") plt.show()
def test_branin_2d_200(self): self.ndim = 2 self.nt = 200 self.ne = 200 prob = Branin(ndim=self.ndim) # training data sampling = FullFactorial(xlimits=prob.xlimits, clip=True) np.random.seed(0) xt = sampling(self.nt) yt = prob(xt) # mixture of experts moe = MOE(n_clusters=5) moe.set_training_values(xt, yt) moe.options['heaviside_optimization'] = True moe.train() # validation data np.random.seed(1) xe = sampling(self.ne) ye = prob(xe) rms_error = compute_rms_error(moe, xe, ye) self.assert_error(rms_error, 0., 1e-1) if TestMOE.plot: y = moe.analyse_results(x=xe, operation='predict_values') plt.figure(1) plt.plot(ye, ye, '-.') plt.plot(ye, y, '.') plt.xlabel(r'$y$ actual') plt.ylabel(r'$y$ prediction') fig = plt.figure(2) ax = fig.add_subplot(111, projection='3d') ax.scatter(xt[:, 0], xt[:, 1], yt) plt.title('Branin function') plt.show()