

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 合成数据集
<a name="clarify-online-explainability-create-endpoint-synthetic"></a>

SageMaker Clarify 使用内核 SHAP 算法。给定记录（也称为样本或实例）和 SHAP 配置，解释器首先生成合成数据集。 SageMaker 然后，Clarify 在模型容器中查询数据集的预测，然后计算并返回特征属性。合成数据集的大小会对 Clarify 解释器的运行时间产生影响。与较小的合成数据集相比，较大的合成数据集需要更长时间来获得模型预测。

 合成数据集的大小可以通过以下公式确定：

```
Synthetic dataset size = SHAP baseline size * n_samples
```

SHAP 基线大小是 SHAP 基线数据中的记录数。此信息提取自 `ShapBaselineConfig`。

`n_samples` 的大小由解释器配置中的参数 `NumberOfSamples` 和特征数量设置。如果特征数量为 `n_features`，则 `n_samples` 如下：

```
n_samples = MIN(NumberOfSamples, 2^n_features - 2)
```

如果未提供 `NumberOfSamples`，则下面会显示 `n_samples`。

```
n_samples = MIN(2*n_features + 2^11, 2^n_features - 2)
```

例如，对于包含 10 个特征的表记录，SHAP 基线大小为 1。如果未提供 `NumberOfSamples`，则合成数据集包含 1022 个记录。如果记录有 20 个特征，则合成数据集包含 2088 个记录。

对于 NLP 问题，`n_features` 等于非文本特征的数量加上文本单元的数量。

**注意**  
`InvokeEndpoint` API 存在请求超时限制。如果合成数据集太大，解释器可能无法在此时间限制内完成计算。如有必要，请使用前面的信息来理解和减小 SHAP 基线大小和 `NumberOfSamples`。如果您的模型容器设置为处理批处理请求，则您也可以调整 `MaxRecordCount` 的值。