可视化不同特征的 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
)参数
- 数据
用于解释的数据,可以是
matrix、dgCMatrix或data.frame。- shap_contrib
data的 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。