跳到内容

可视化不同特征的 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

用作解释的数据,可以是 matrixdgCMatrixdata.frame 类型。

shap_contrib

数据的 SHAP 贡献值矩阵。默认值(NULL)将从 modeldata 计算得到。

features

要绘制的列索引或特征名称向量。当为 NULL(默认值)时,将由 xgb.importance() 选择 top_n 个最重要的特征。

top_n

应选择多少个最重要的特征(<= 100)?对于 SHAP 依赖图,默认值为 1;对于 SHAP 汇总图,默认值为 10。仅当 features = NULL 时使用。

model

一个 xgb.Booster 模型。仅当 shap_contrib = NULLfeatures = NULL 时需要。

trees

features = NULL 时,传递给 xgb.importance()

target_class

仅与多分类模型相关。默认值(NULL)将 SHAP 值在所有类别上取平均。传递一个(基于 0 的)类别索引,以仅显示该类别的 SHAP 值。

approxcontrib

shap_contrib = NULL 时,传递给 predict.xgb.Booster()

subsample

随机选取用于绘制的数据点比例。默认值(NULL)将最多使用 10 万个数据点。

返回值

一个 ggplot2 对象。

详情

为每个特征生成一个点图(每个点代表 data 中的一个观测值),点绘制在 SHAP 值轴上。每个点(观测值)根据其特征值进行着色。

该图允许查看哪些特征对模型预测有负贡献/正贡献,以及对于特征值的较大或较小值,其贡献是否不同。灵感来源于 https://github.com/shap/shap 的汇总图。

另请参阅

xgb.plot.shap(), xgb.ggplot.shap.summary(),以及 Python 库 https://github.com/shap/shap

示例

# See examples in xgb.plot.shap()