shap.maskers.Partition

class shap.maskers.Partition(data, max_samples=100, clustering='correlation')[源代码]

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

与独立不同,分区尊重数据的层次结构。

__init__(data, max_samples=100, clustering='correlation')[源代码]

使用给定的背景数据和聚类构建一个分区掩码器。

参数:
数据numpy.ndarray, pandas.DataFrame

用于遮罩的背景数据集。

max_samples整数

从传递的背景数据中使用的最大样本数。如果数据超过 max_samples,则使用 shap.utils.sample 对数据集进行子采样。掩码器输出的样本数(用于积分)与背景数据集中的样本数匹配。这意味着较大的背景数据集会导致运行时间更长。通常,大约 1、10、100 或 1000 个背景样本是合理的选择。

聚类字符串或 numpy.ndarray

如果是一个字符串,那么这是用于创建特征聚类的距离度量。距离函数可以是任何有效的 scipy.spatial.distance.pdist 的 metric 参数。然而,我们建议在大多数情况下使用 ‘correlation’。完整的选项列表包括 braycurtiscanberrachebyshevcityblockcorrelationcosinediceeuclideanhammingjaccardjensenshannonkulsinskimahalanobismatchingminkowskirogerstanimotorussellraoseuclideansokalmichenersokalsneathsqeuclideanyule。这些都是来自 scipy.spatial.distance.pdist 的 metric 参数的所有选项。如果是一个数组,那么这被认为是特征的聚类。

方法

__init__(data[, max_samples, clustering])

使用给定的背景数据和聚类构建一个分区掩码器。

invariants(x)

这将返回一个掩码,指示当我们对它们进行掩码处理时哪些特征发生了变化。

load(in_file[, instantiate])

从文件流加载一个表格掩码器。

save(out_file)

将表格掩码写入文件流。

invariants(x)

这将返回一个掩码,指示当我们对它们进行掩码处理时哪些特征发生了变化。

这种可选的掩码方法允许解释器在所有将被掩码的特征都不变时,避免重新评估模型。

classmethod load(in_file, instantiate=True)

从文件流加载一个表格掩码器。

save(out_file)

将表格掩码写入文件流。