我想知道我的以下设置对于使用 CARET 的 xgbDART 方法从模型生成 SHAP 值是否正确。在这种特殊情况下的问题是 SHAP 值rowSums()
加起来不等于预测分数。任何方向都会非常有帮助。这是我的设置:
#model scores
set.seed(200)
pred_mod<- predict(xgb_05_v6$finalModel,
newdata= as.matrix(X1),
ntreelimit = param_dart$nrounds,
objective = "binary:logistic",
outputmargin = TRUE
)
#SHAP values
set.seed(200)
SHAP_contribution<- predict(xgb_05_v6$finalModel,
newdata= as.matrix(X1),
ntreelimit = param_dart$nrounds,
objective = "binary:logistic",
approxcontrib = FALSE,
predcontrib = TRUE
)