Use DART tree weights when computing SHAPs (#5050)

This PR fixes tree weights in dart being ignored when computing contributions.

* Fix ellpack page source link.
* Add tree weights to compute contribution.
This commit is contained in:
Kodi Arfer
2019-12-03 06:55:53 -05:00
committed by Jiaming Yuan
parent 64f4361b47
commit f2277e7106
12 changed files with 88 additions and 16 deletions

View File

@@ -397,6 +397,7 @@ class GPUPredictor : public xgboost::Predictor {
void PredictContribution(DMatrix* p_fmat,
std::vector<bst_float>* out_contribs,
const gbm::GBTreeModel& model, unsigned ntree_limit,
std::vector<bst_float>* tree_weights,
bool approximate, int condition,
unsigned condition_feature) override {
LOG(FATAL) << "Internal error: " << __func__
@@ -407,6 +408,7 @@ class GPUPredictor : public xgboost::Predictor {
std::vector<bst_float>* out_contribs,
const gbm::GBTreeModel& model,
unsigned ntree_limit,
std::vector<bst_float>* tree_weights,
bool approximate) override {
LOG(FATAL) << "Internal error: " << __func__
<< " is not implemented in GPU Predictor.";