From other posts (see Unbalanced multiclass data with XGBoost) and the documentation, scale_pos_weight in XGBoost appears to balance positive and negative cases, which seems to apply only to classification. However, it also appears to be an option in XGBRegressor (see documentation). Before I dive into the source code, can someone explain what this does for regression?

  • $\begingroup$ The scale_pos_weight parameter has no effect for regression problems. This example demonstrates this with a suite of different scale_pos_weight values with no effect on model skill. $\endgroup$
    – jasonb
    May 15 at 22:49

1 Answer 1


There are a few unused or deprecated parameters in both XGBClassifier and XGBRegressor, so it might just be a matter of sloppy inheritance/c+p.

A couple of possibilities:

  1. They copied over the params from Sklearn's GradientBoostedClassifier
  2. They copied over the params from XGBClassifier
  3. They inherited the properties from some class that already had those attributes.

There have been some consistency issues for a while now (I faintly recall nthreads versus n_job issue.)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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