New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
More general predict proba. #6817
Conversation
Marked as blocking for 2 reasons.
|
python-package/xgboost/sklearn.py
Outdated
# softprob: Do nothing, output is proba. | ||
# softmax: Use output margin to remove the argmax in PredTransform. | ||
# binary:logistic: Expand the prob vector into 2-class matrix after predict. | ||
# binary:logitraw: Unsupported, let's deprecate this objective when possible. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've seen at least a few users using this objective. Should we actually deprecate it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not clear to me in what scenario is it useful.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you want to have an untransformed prediction, use output_margin
instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So far we've avoided breaking existing model files, i.e. you could load a very old model file and run predictions. Removing support for binary:logitraw
will make old models files inaccessible. We don't yet have a formal policy for changes affecting old model files. (e.g. Wait 3 major versions?)
The objective binary:logitraw
is clearly used in the wild already. For example: #6509
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I removed the note.
* Use `output_margin` for `softmax`. * Add test for dask binary cls.
82e3f58
to
8d4f14f
Compare
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu>
* Use `output_margin` for `softmax`. * Add test for dask binary cls. Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu>
output_margin
forsoftmax
.