可视化不同特征的 SHAP 贡献值。
用法
xgb.ggplot.shap.summary(
data,
shap_contrib = NULL,
features = NULL,
top_n = 10,
model = NULL,
trees = NULL,
target_class = NULL,
approxcontrib = FALSE,
subsample = NULL
)
xgb.plot.shap.summary(
data,
shap_contrib = NULL,
features = NULL,
top_n = 10,
model = NULL,
trees = NULL,
target_class = NULL,
approxcontrib = FALSE,
subsample = NULL
)
参数
- data
用作解释的数据,可以是
matrix
、dgCMatrix
或data.frame
类型。- shap_contrib
数据的 SHAP 贡献值矩阵。默认值(
NULL
)将从model
和data
计算得到。- features
要绘制的列索引或特征名称向量。当为
NULL
(默认值)时,将由xgb.importance()
选择top_n
个最重要的特征。- top_n
应选择多少个最重要的特征(<= 100)?对于 SHAP 依赖图,默认值为 1;对于 SHAP 汇总图,默认值为 10。仅当
features = NULL
时使用。- model
一个
xgb.Booster
模型。仅当shap_contrib = NULL
或features = NULL
时需要。- trees
当
features = NULL
时,传递给xgb.importance()
。- target_class
仅与多分类模型相关。默认值(
NULL
)将 SHAP 值在所有类别上取平均。传递一个(基于 0 的)类别索引,以仅显示该类别的 SHAP 值。- approxcontrib
当
shap_contrib = NULL
时,传递给predict.xgb.Booster()
。- subsample
随机选取用于绘制的数据点比例。默认值(
NULL
)将最多使用 10 万个数据点。
详情
为每个特征生成一个点图(每个点代表 data
中的一个观测值),点绘制在 SHAP 值轴上。每个点(观测值)根据其特征值进行着色。
该图允许查看哪些特征对模型预测有负贡献/正贡献,以及对于特征值的较大或较小值,其贡献是否不同。灵感来源于 https://github.com/shap/shap 的汇总图。
另请参阅
xgb.plot.shap()
, xgb.ggplot.shap.summary()
,以及 Python 库 https://github.com/shap/shap。