API 参考

此页面包含 SHAP 中公共对象和函数的 API 参考。还有可用的示例笔记本,展示了如何使用每个对象/函数的 API。

解释

shap.Explanation(values[, base_values, ...])

一组可切片的并行数组,表示 SHAP 解释。

shap.Cohorts(**kwargs)

一个Explanation对象的集合,通常每个对象解释一组相似的样本。

解释器

shap.Explainer(model, masker, link, ...)

使用 Shapley 值来解释任何机器学习模型或 Python 函数。

shap.TreeExplainer(model, data, ...)

使用 Tree SHAP 算法来解释集成树模型的输出。

shap.GPUTreeExplainer(model, data, ...)

TreeExplainer 的实验性 GPU 加速版本。

shap.LinearExplainer(model, masker, link, ...)

计算线性模型的 SHAP 值,可选地考虑特征间相关性。

shap.PermutationExplainer(model, masker, ...)

此方法通过遍历输入的排列来近似 Shapley 值。

shap.PartitionExplainer(model, masker, *, ...)

使用 Partition SHAP 方法来解释任何函数的输出。

shap.SamplingExplainer(model, data, **kwargs)

使用 Shapley 采样值解释方法(也称为 IME)的扩展来计算 SHAP 值。

shap.AdditiveExplainer(model, masker[, ...])

计算广义加性模型的 SHAP 值。

shap.DeepExplainer(model, data[, session, ...])

旨在近似深度学习模型的 SHAP 值。

shap.KernelExplainer(model, data[, ...])

使用 Kernel SHAP 方法来解释任何函数的输出。

shap.GradientExplainer(model, data[, ...])

使用预期梯度(集成梯度的扩展)来解释模型。

shap.ExactExplainer(model, masker, link, ...)

通过优化的精确枚举计算 SHAP 值。

shap.explainers.other.Coefficient(model)

简单地返回模型系数作为特征归因。

shap.explainers.other.Random(model, masker)

简单地返回随机(正态分布)特征归因。

shap.explainers.other.LimeTabular(model, data)

简单地将 lime.lime_tabular.LimeTabularExplainer 封装到通用 shap 接口中。

shap.explainers.other.Maple(model, data)

简单地将 MAPLE 封装到通用 SHAP 接口中。

shap.explainers.other.TreeMaple(model, data)

简单地将树 MAPLE 封装到通用 SHAP 接口中。

shap.explainers.other.TreeGain(model)

简单地返回树模型的全局增益/基尼特征重要性。

shap.plots.bar(shap_values[, max_display, ...])

创建一组 SHAP 值的条形图。

shap.plots.waterfall(shap_values[, ...])

将单个预测的解释绘制为瀑布图。

shap.plots.scatter(shap_values[, color, ...])

创建一个 SHAP 依赖散点图,可选地按交互特征着色。

shap.plots.heatmap(shap_values[, ...])

创建一组 SHAP 值的热图。

shap.plots.force(base_value[, shap_values, ...])

使用加性力布局可视化给定的 SHAP 值。

shap.plots.text(shap_values[, ...])

使用着色和交互式标签绘制文本字符串的解释。

shap.plots.image(shap_values[, ...])

绘制图像输入的 SHAP 值。

shap.plots.partial_dependence(ind, model, data)

一个基本的局部依赖图函数。

shap.plots.decision(base_value, shap_values)

使用累积 SHAP 值可视化模型决策。

shap.plots.embedding(ind, shap_values[, ...])

将 SHAP 值用作嵌入,并投影到 2D 以进行可视化。

shap.plots.initjs()

初始化交互式力图所需的 JavaScript 库。

shap.plots.group_difference(shap_values, ...)

此图绘制了两个组之间平均 SHAP 值的差异。

shap.plots.image_to_text(shap_values)

绘制带有测试输出的图像输入的 SHAP 值。

shap.plots.monitoring(ind, shap_values, features)

创建 SHAP 监控图。

shap.plots.beeswarm(shap_values[, ...])

创建 SHAP 蜂群图,在提供特征值时按特征值着色。

shap.plots.violin(shap_values[, features, ...])

创建 SHAP 小提琴图,在提供特征值时按特征值着色。

掩码器

shap.maskers.Masker()

这是所有掩码器的超类。

shap.maskers.Independent(data[, max_samples])

通过对给定背景数据集进行积分来掩盖表格特征。

shap.maskers.Partition(data[, max_samples, ...])

通过对给定背景数据集进行积分来掩盖表格特征。

shap.maskers.Impute(data[, method])

这使用观察到的特征值来估算缺失特征的值。

shap.maskers.Fixed()

这会在掩码期间保持输入不变,并用于诸如评分标签之类的操作。

shap.maskers.Composite(*maskers)

这会将用于不同输入的多个掩码器合并成一个复合掩码器。

shap.maskers.FixedComposite(masker)

一个掩码器,将掩码数据和原始数据作为一对输出。

shap.maskers.OutputComposite(masker, model)

一个由掩码器和模型组合而成的掩码器,输出掩码参数和模型的输出。

shap.maskers.Text([tokenizer, mask_token, ...])

这会根据给定的分词器屏蔽标记。

shap.maskers.Image(mask_value[, shape])

通过模糊或修复来屏蔽图像区域。

模型

shap.models.Model([model])

这是所有模型的超类。

shap.models.TeacherForcing(model[, ...])

使用教师强制技术为输出文本解释算法生成分数(对数几率)。

shap.models.TextGeneration([model, ...])

使用基础模型生成目标句子/ID。

shap.models.TopKLM(model, tokenizer[, k, ...])

为因果/掩码语言模型生成前 k 个标记的分数(对数几率)。

shap.models.TransformersPipeline(pipeline[, ...])

这封装了一个 transformer pipeline 对象,以便于解释。

实用工具

shap.utils.hclust(X[, y, linkage, metric, ...])

拟合特征 X 相对于目标变量 y 的层次聚类模型。

shap.utils.hclust_ordering(X[, metric, ...])

叶子排序未明确定义,这会选择使相邻样本保持相似的排序。

shap.utils.partition_tree(X[, metric])

shap.utils.partition_tree_shuffle(indexes, ...)

以与给定分区树一致的方式随机打乱索引。

shap.utils.delta_minimization_order(all_masks)

shap.utils.approximate_interactions(index, ...)

根据其他特征与给定索引特征的交互程度对其进行排序。

shap.utils.potential_interactions(...)

根据其他特征与给定索引特征的交互程度对其进行排序。

shap.utils.sample(X[, nsamples, random_state])

对输入数据 X 进行无放回抽样。

shap.utils.shapley_coefficients(n)

shap.utils.convert_name(ind, shap_values, ...)

shap.utils.OpChain([root_name])

一种表示对象上一组点链式操作的方式,而无需实际运行它们。

shap.utils.show_progress(iterable[, total, ...])

shap.utils.MaskedModel(model, masker, link, ...)

这是一个实用程序类,它结合了模型、掩码器对象和当前输入。

shap.utils.make_masks(cluster_matrix)

根据给定的聚类构建稀疏 CSR 掩码矩阵。

数据集

shap.datasets.a1a([n_points])

以 scipy csr 矩阵格式返回稀疏数据集。

shap.datasets.adult([display, n_points])

以结构化格式返回成人普查数据。

shap.datasets.california([n_points])

以表格格式返回加州住房数据。

shap.datasets.communitiesandcrime([n_points])

预测每 10 万人口的暴力犯罪总数。

shap.datasets.corrgroups60([n_points])

相关组(60 个特征)

shap.datasets.diabetes([n_points])

返回打包好的糖尿病数据。

shap.datasets.imagenet50([resolution, n_points])

返回一组 50 张代表 ImageNet 图像的图像。

shap.datasets.imdb([n_points])

返回经典 IMDB 情感分析训练数据。

shap.datasets.independentlinear60([n_points])

独立线性(60 个特征)

shap.datasets.iris()

以方便的包形式返回经典的 Iris 数据集。

shap.datasets.linnerud([n_points])

以方便的包形式返回 Linnerud 数据集,用于多目标回归。

shap.datasets.nhanesi([display, n_points])

返回一个打包好的 NHANES I 数据版本,生存时间作为标签。

shap.datasets.rank()

从 LightGBM 存储库返回排名数据集。