When I evaluate the model I seem to be getting a decent RMSE score but when I try to actually see the predictions when I call the model all my values are the same.

 xdata = xgboost.DMatrix(X_train, y_train, feature_names=all_vars)
 xdata_val = xgboost.DMatrix(X_valid, y_valid, feature_names=all_vars)
 xgb_parms['seed'] = random.randint(0,1e9)
 model = xgboost.train(xgb_parms, xdata)
 ypred = model.predict(xdata_val)

I believe the error is on my last step, what am I doing wrong?

  • $\begingroup$ Try to draw the XGB tree and see how it looks like. Since XGB is a tree model, it might overfit (if the data is unbalanced for instance) generating a small tree that always returns the frequent class label. $\endgroup$ – Abdulrahman Bres Mar 28 '18 at 23:36

Make sure to pass the model an "objective" parameter and also use "rmse" for the "eval_metric" parameter.


| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.