API 参考

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

解释

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

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

解释器

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, *[, ...])

使用分区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)

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

plots

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 小提琴图,当提供特征值时按特征值着色。

maskers

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[, ...])

使用 Teacher Forcing 技术为输出文本解释算法生成分数(对数几率)。

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

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

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

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

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

这封装了一个 transformers 管道对象,以便于解释。

工具

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])

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

shap.datasets.imdb([n_points])

返回经典的IMDB情感分析训练数据,打包得很好。

shap.datasets.independentlinear60([n_points])

一个模拟数据集,其中不同特征组之间具有紧密的相关性。

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

返回经典的鸢尾花数据集在一个方便的包中。

shap.datasets.linnerud([n_points])

返回一个方便的多目标回归包中的Linnerud数据集。

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

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

shap.datasets.rank()

从 LightGBM 仓库返回排名数据集。