1

Good day!

I was using GPFlow regression to model function on a sphere (spherical distance between point and North Pole). Here is my code:

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)

I've chosen train&test set randomly on the sphere using

train_test_split(data, test_size = 0.33)

I set one parameter not trainable, because my model gave bad prediction on both test & train sets. Now I have very bad predictions (using predict_f()) on test set and very good predictions on train set, also on test set it looks like model gives arbitrary distributed values with large covariance of predictions. Here is a visualisation (I postpone the value of the function from the corresponding point on a sphere)

Question: How can I fix predictions on a test set? What could be the problem?

Images:

Predictions on train set Predictions on test set
enter image description here enter image description here
Alexander
  • 33
  • 6

0 Answers0