-
-
Notifications
You must be signed in to change notification settings - Fork 8.8k
[mt] Cover all regression objectives. #11967
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
Conversation
- Support multi-target for the following objectives: + hinge + poisson + tweedie + pseudohubererror + squaredlogerror - Add tests.
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.
Pull request overview
Extends XGBoost’s multi-target (multi-output tree) coverage for additional built-in objectives, and adds CPU/GPU Python tests to guard against regressions.
Changes:
- Update regression objectives to correctly handle multi-target gradient shapes/indices (notably Poisson/Tweedie; fix indexing for squaredlog/pseudohuber).
- Add reusable label validation types for Poisson/Tweedie label constraints.
- Add CPU + GPU Python test cases covering the newly supported objectives (and broader regression objective coverage).
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/python/test_multi_target.py | Adds CPU test entry points for additional objectives under multi-target training. |
| tests/python-gpu/test_gpu_multi_target.py | Adds GPU test entry points for the same objectives under multi-target training. |
| src/objective/regression_obj.cu | Implements/adjusts multi-target gradient computation for Poisson/Tweedie and fixes per-target gradient indexing for some objectives. |
| src/objective/regression_loss.h | Introduces Poisson/Tweedie label validation helpers used by objectives. |
| src/objective/aft_obj.cu | Adds a runtime check clarifying AFT label usage requirements. |
| python-package/xgboost/testing/multi_target.py | Adds a common regression-objective test helper and new per-objective multi-target test runners. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
cc @rongou |
ref #9043