shap.AdditiveExplainer

class shap.AdditiveExplainer(model, masker, link=None, feature_names=None, linearize_link=True)[源代码]

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

这假设模型只有一阶效应。将其扩展到二阶和三阶效应是未来的工作(如果你现在将此应用于那些模型,你将得到错误的答案,这些答案无法满足加法性)。

__init__(model, masker, link=None, feature_names=None, linearize_link=True)[源代码]

使用给定的掩码对象为给定的模型构建一个加法解释器。

参数:
模型函数

一个可调用的Python对象,它在接受一组输入数据样本时执行模型。

掩码器函数 或 numpy.array 或 pandas.DataFrame

用于“掩盖”隐藏特征的可调用Python对象,形式为 masker(mask, *fargs)。它接受一个二进制掩码和一个输入样本,并返回一个掩码样本矩阵。这些掩码样本使用模型函数进行评估,然后对输出进行平均。作为SHAP标准掩码的快捷方式,您可以传递一个背景数据矩阵而不是函数,该矩阵将用于掩码。要使用聚类游戏结构,可以传递一个 shap.maskers.Tabular(data, hclustering="correlation") 对象,但请注意,这种结构信息对加性模型的解释没有影响。

方法

__init__(model, masker[, link, ...])

使用给定的掩码对象为给定的模型构建一个加法解释器。

explain_row(*row_args, max_evals, ...)

解释单行并返回元组 (row_values, row_expected_values, row_mask_shapes)。

load(in_file[, model_loader, masker_loader, ...])

从给定的文件流中加载一个解释器。

save(out_file[, model_saver, masker_saver])

将解释器写入给定的文件流。

supports_model_with_masker(model, masker)

确定此解释器是否可以处理给定的模型。

explain_row(*row_args, max_evals, main_effects, error_bounds, batch_size, outputs, silent)[源代码]

解释单行并返回元组 (row_values, row_expected_values, row_mask_shapes)。

classmethod load(in_file, model_loader=<bound method Model.load of <class 'shap.models._model.Model'>>, masker_loader=<bound method Serializable.load of <class 'shap.maskers._masker.Masker'>>, instantiate=True)

从给定的文件流中加载一个解释器。

参数:
in_file用于加载对象的文件流。
save(out_file, model_saver='.save', masker_saver='.save')

将解释器写入给定的文件流。

static supports_model_with_masker(model, masker)[源代码]

确定此解释器是否可以处理给定的模型。

这是一个抽象静态方法,旨在由每个子类实现。