Multidimensional regression in Keras
The problem is using predict_classes in:

model.predict_classes(X_valid)


this is designed to select the argmax (index of the maximum output) and choose it as the predicted class, for a classifier.

You have a regression problem, and just want the raw output from the network. So instead you should call:

y_pred = model.predict(X_valid)