再会!
我正在使用 GPFlow 回归来模拟球体上的函数(点和北极之间的球面距离)。这是我的代码:
model = gpflow.models.GPR(data=(nodes_train, fs_train), kernel=kernel, noise_variance=0.01)
gpflow.utilities.set_trainable(model.likelihood.variance, False)
model.likelihood.variance.assign(0.0001)
optimize_GPR(model, 500)
我在球体上随机选择了训练和测试集
train_test_split(data, test_size = 0.33)
我设置了一个不可训练的参数,因为我的模型在测试集和训练集上都给出了不好的预测。现在我predict_f()
对测试集有非常糟糕的预测(使用 )和对训练集的非常好的预测,同样在测试集上,它看起来模型给出了具有大预测协方差的任意分布值。这是一个可视化(我将函数的值从球体上的对应点推迟)
问题:如何修复测试集的预测?可能是什么问题呢?
图片: