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)
- 为给定的模型使用给定的掩码器(masker)对象构建一个可加解释器(Additive explainer)。 - 参数:
- model函数
- 一个可调用的 Python 对象,它接收一组输入数据样本并执行模型。 
- masker函数或 numpy.array 或 pandas.DataFrame
- 一个可调用的 Python 对象,用于“遮盖”隐藏的特征,其形式为 - masker(mask, *fargs)。它接受一个二元掩码和一个输入样本,并返回一个被遮盖样本的矩阵。这些被遮盖的样本将通过模型函数进行评估,然后对输出进行平均。作为 SHAP 标准掩码操作的快捷方式,你可以传入一个背景数据矩阵而不是一个函数,该矩阵将被用于掩码。要使用聚类博弈结构,你可以传递一个- shap.maskers.Tabular(data, hclustering="correlation")对象,但请注意,这种结构信息对可加模型的解释没有影响。
 
 
 - 方法 - __init__(model, masker[, link, ...])- 为给定的模型使用给定的掩码器(masker)对象构建一个可加解释器(Additive explainer)。 - 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=None, masker_loader=None, instantiate=True)
- 从给定的文件流加载一个解释器。 - 参数:
- in_file用于加载对象的文件流。
 
 
 - save(out_file, model_saver='.save', masker_saver='.save')
- 将解释器写入给定的文件流。 
 - static supports_model_with_masker(model, masker)
- 判断此解释器是否能处理给定的模型。 - 这是一个抽象的静态方法,需要由每个子类实现。