-
-
Notifications
You must be signed in to change notification settings - Fork 8.7k
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
[dask] Support more meta data. #6132
Conversation
trivialfis
commented
Sep 18, 2020
- label_lower_bound
- label_upper_bound
- base_margin
* Add base_margin, label_(lower|upper)_bound.
@hcho3 I modified the test for survival training to use it for dask. Could you please help taking a look? |
Codecov Report
@@ Coverage Diff @@
## master #6132 +/- ##
==========================================
+ Coverage 78.67% 78.83% +0.16%
==========================================
Files 12 12
Lines 3071 3090 +19
==========================================
+ Hits 2416 2436 +20
+ Misses 655 654 -1
Continue to review full report at Codecov.
|
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.
Thanks for adding survival analysis in the Dask test. Some comments:
assert shap.ndim == 2 | ||
assert shap.shape[0] == kRows | ||
assert shap.shape[1] == kCols + 1 | ||
|
||
|
||
def test_aft_survival(): | ||
# survival doesn't handle empty dataset well. |
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 did not know this. How can we fix this?
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.
@hcho3 There are checks:
CHECK_NE(info.labels_lower_bound_.Size(), 0U)
<< "labels_lower_bound cannot be empty";
CHECK_NE(info.labels_upper_bound_.Size(), 0U)
<< "labels_upper_bound cannot be empty";
in survival_metric.cu::EvalEWiseSurvivalBase::Eval
.
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.
Should we remove the checks and have the objective return zero?
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.
Depends on the synchronization I think.
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.
AFT is an element-wise objective, so it should behave like reg:squarederror
when it comes to handling empty datasets. Let me create a new issue for this.
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.
Opened #6139