无法对此脚本执行1D GaussianProcessRegression

我不确定为什么这种高斯过程回归不起作用。我只是复制了示例。但是不知道为什么它不能预测一个测试数据。对于简单的一维回归,一些数据应该已经足够。

train_X = np.atleast_2d([0,0.2,0.5,1]).T
print(train_X)
print(f(train_X))

train_y = f(train_X)
print(train_y)

test_X = np.atleast_2d(np.linspace(0,1,100)).T
test_Y_real = f(test_X)

# fit GPR
kernel = RBF(1)
gpr = GaussianProcessRegressor(kernel=kernel,n_restarts_optimizer=10)

gpr.fit(train_X,train_y)
mu,cov = gpr.predict(test_X,return_cov=True)
test_y = mu.ravel()
uncertainty = 1.96 * np.sqrt(np.diag(cov))

# plotting
plt.figure()
plt.title("l=%.1f" % (gpr.kernel_.length_scale))
plt.fill_between(test_X.ravel(),test_y + uncertainty,test_y - uncertainty,alpha=0.5)
plt.plot(test_X,test_y,label="predict")
plt.plot(test_X,test_Y_real,label='real_value')
plt.scatter(train_X,train_y,label="train",c="red",marker="x")
plt.legend()
plt.show()

无法对此脚本执行1D GaussianProcessRegression

adsli 回答:无法对此脚本执行1D GaussianProcessRegression

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3168944.html

大家都在问