

截至 2025 年 11 月 7 日，亚马逊 Fraud Detector 不再向新客户开放。要获得与 Amazon Fraud Detector 类似的功能 SageMaker，请浏览亚马逊 AutoGluon、和 AWS WAF。

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

# 故障排除
<a name="troubleshoot"></a>

以下各节可帮助您解决在使用 Amazon Fraud Detector 时可能遇到的问题

## 对训练数据问题进行故障排除
<a name="troubleshoot-training-data"></a>

使用本节中的信息来帮助诊断和解决您在**训练模型时可能在 Amazon Fraud Detector 控制台的模型训练诊断**窗格中看到的问题。

**模型训练诊断**窗格中显示的问题分类如下。解决问题的要求取决于问题的类别。
+  ![\[Error icon\]](http://docs.aws.amazon.com/zh_cn/frauddetector/latest/ug/images/Error icon.png)**错误**-导致模型训练失败。必须解决这些问题，模型才能成功训练。
+  ![\[Warning icon\]](http://docs.aws.amazon.com/zh_cn/frauddetector/latest/ug/images/Warning icon.png)**警告**-导致模型训练继续，但是，在训练过程中，某些变量可能会被排除在外。请查看本节中的相关指南，以提高数据集的质量。
+  ![\[Information icon\]](http://docs.aws.amazon.com/zh_cn/frauddetector/latest/ug/images/Info icon.png)**信息（信息）**-对模型训练没有影响，所有变量都用于训练。我们建议您查看本节中的相关指南，以进一步提高数据集的质量和模型性能。

**Topics**
+ [给定数据集中的欺诈率不稳定](#unstable-fraud-rate)
+ [数据不足](#insufficient-data)
+ [缺少或不同的 EVENT\$1LABEL 值](#missing-different-event-label-values)
+ [缺少或错误的 EVENT\$1TIMESTAMP 值](#missing-incorrect-timestamp-values)
+ [未摄取数据](#data-not-ingested)
+ [变量不足](#insufficient-variables)
+ [变量类型缺失或不正确](#missing-incorrect-variable-type)
+ [缺少变量值](#missing-variable-values)
+ [唯一变量值不足](#insufficient-unique-variable-values)
+ [变量表达式不正确](#incorrect-variable-expression)
+ [唯一实体不足](#insufficient-unique-entities)

### 给定数据集中的欺诈率不稳定
<a name="unstable-fraud-rate"></a>

**问题类型：错误**

**描述**

随着时间的推移，给定数据中的欺诈率过于不稳定。请确保在一段时间内对您的欺诈和合法事件进行统一抽样。

**原因**

如果数据集中的欺诈和合法事件分布不均匀且来自不同的时段，则会发生此错误。Amazon Fraud Detector 模型训练流程根据 EVENT\$1TIMESTAMP 对您的数据集进行采样和分区。例如，如果您的数据集包含从过去 6 个月提取的欺诈事件，但仅包括最后一个月的合法事件，则该数据集被视为不稳定。不稳定的数据集可能会导致模型性能评估出现偏差。

**解决方案**

确保提供来自同一时段的欺诈和合法事件数据，欺诈率不会随着时间的推移而发生显著变化。

### 数据不足
<a name="insufficient-data"></a>

1. **问题类型：错误**

   **描述**

   少于 50 行被标记为欺诈事件。确保欺诈事件和合法事件均超过最小计数 50，然后重新训练模型。

   **原因**

   如果您的数据集中标记为欺诈的事件少于模型训练所需的数量，则会发生此错误。Amazon Fraud Detector 需要至少 50 个欺诈事件才能训练您的模型。

   **解决方案**

   确保您的数据集至少包含 50 个欺诈事件。如果需要，您可以通过覆盖更长的时间来确保这一点。

1. **问题类型：错误**

   **描述**

   标记为合法事件的行少于 50 行。确保欺诈事件和合法事件均超过最低限额 \$1threshold，然后重新训练模型。

   **原因**

   如果您的数据集中标记为合法的事件少于模型训练所需的事件，则会发生此错误。Amazon Fraud Detector 需要至少 50 个合法事件才能训练您的模型。

   **解决方案**

   确保您的数据集至少包含 50 个合法事件。如果需要，您可以通过覆盖更长的时间来确保这一点。

1. **问题类型：错误**

   **描述**

   与欺诈相关的唯一实体数量少于 100 个。考虑加入更多欺诈实体的示例，以提高绩效。

   **原因**

   如果您的数据集包含欺诈事件的实体少于模型训练所需的实体，则会发生此错误。交易欺诈洞察 (TFI) 模型要求至少 100 个存在欺诈事件的实体，以确保最大限度地覆盖欺诈领域。如果所有欺诈事件都由一小部分实体执行，则该模型可能无法很好地概括。

   **解决方案**

   确保您的数据集包含至少 100 个存在欺诈事件的实体。如果需要，您可以确保这涵盖更长的时间。

1. **问题类型：错误**

   **描述**

   与合法实体关联的唯一实体数量少于 100。考虑加入更多合法实体的示例，以提高绩效。

   **原因**

   如果您的数据集包含合法事件的实体少于模型训练所需的实体，则会发生此错误。交易欺诈洞察 (TFI) 模型要求至少 100 个实体拥有合法事件，以确保最大限度地覆盖欺诈领域。如果所有合法事件都由一小部分实体执行，则模型可能无法很好地概括。

   **解决方案**

   确保您的数据集包含至少 100 个具有合法事件的实体。如果需要，您可以确保这涵盖更长的时间。

1. **问题类型：错误**

   **描述**

   数据集中少于 100 行。确保总数据集中超过 100 行，且至少 50 行被标记为欺诈。

   **原因**

   如果您的数据集包含的记录少于 100 条，则会发生此错误。Amazon Fraud Detector 需要来自数据集中至少 100 个事件（记录）的数据进行模型训练。

   **解决方案**

   确保您的数据集中包含来自 100 多个事件的数据。

### 缺少或不同的 EVENT\$1LABEL 值
<a name="missing-different-event-label-values"></a>

1. **问题类型：错误**

   **描述**

   大于 1% 的 EVENT\$1LABEL 列是空值，或者是模型配置中定义的值以外的值。**\$1label\$1values**确保 EVENT\$1LABEL 列中的缺失值少于 1%，并且这些值是模型配置中定义的值。**\$1label\$1values**

   **原因**

   出现此错误是由于以下原因之一：
   + 在包含您的训练数据的 CSV 文件中，超过 1% 的记录在 EVENT\$1LABEL 列中存在缺失值。
   + 在包含您的训练数据的 CSV 文件中，超过 1% 的记录在 EVENT\$1LABEL 列中的值与与您的事件类型关联的值不同。

   在线欺诈洞察 (OFI) 模型要求在每条记录的 EVENT\$1LABEL 列中填入与您的事件类型（或，映射到）关联的标签之一。`CreateModelVersion`

   **解决方案**

   如果此错误是由缺少 EVENT\$1LABEL 值造成的，请考虑为这些记录分配适当的标签或从数据集中删除这些记录。如果此错误是因为某些记录的标签不在其中**label\$1values**，请确保将 EVENT\$1LABEL 列中的所有值添加到事件类型的标签中，并在模型创建时映射到欺诈或合法（欺诈、合法）。

1. **问题类型：信息**

   **描述**

   您的 EVENT\$1LABEL 列包含与模型配置中定义的值以外的空值或标签值。**\$1label\$1values**在训练之前，这些不一致的值被转换为 “非欺诈”。

   **原因**

   您之所以获得此信息，是因为以下原因之一：
   + 在包含训练数据的 CSV 文件中，只有不到 1% 的记录在 EVENT\$1LABEL 列中存在缺失值
   + 在包含您的训练数据的 CSV 文件中，EVENT\$1LABEL 列中只有不到 1% 的值与与您的事件类型关联的值不同。

   在这两种情况下，模型训练都将成功。但是，那些缺少标签值或未映射标签值的事件的标签值会转换为合法的。如果您认为这是一个问题，请按照下面提供的解决方案进行操作。

   **解决方案**

   如果您的数据集中缺少 EVENT\$1LABEL 值，请考虑从数据集中删除这些记录。如果未映射为这些 EVENT\$1LABELS 提供的值，请确保每个事件的所有这些值都映射到欺诈或合法（欺诈、合法）。

### 缺少或错误的 EVENT\$1TIMESTAMP 值
<a name="missing-incorrect-timestamp-values"></a>

1. **问题类型：错误**

   **描述**

   您的训练数据集包含带有不符合可接受格式的时间戳的 EVENT\$1TIMESTAMP。确保格式是可接受的日期/时间戳格式之一。

   **原因**

   如果 EVENT\$1TIMESTAMP 列包含的值不符合 Amazon Fraud Detector 支持[的时间戳格式](https://docs.aws.amazon.com/frauddetector/latest/ug/online-fraud-insights.html#timestamp-formats)，则会发生此错误。

   **解决方案**

   [确保为 EVENT\$1TIMESTAMP 列提供的值符合支持的时间戳格式。](https://docs.aws.amazon.com/frauddetector/latest/ug/online-fraud-insights.html#timestamp-formats)如果 EVENT\$1TIMESTAMP 列中有缺失的值，则可以使用支持的时间戳格式回填这些值，也可以考虑完全删除事件，而不是输入、或之类的字符串。`none` `null` `missing`

1. **问题类型：错误**

   您的训练数据集包含缺失值的 EVENT\$1TIMESTAMP。确保没有缺失值。

   **原因**

   如果数据集中的 EVENT\$1TIMESTAMP 列缺少值，则会发生此错误。Amazon Fraud Detector 要求您的数据集中的 EVENT\$1TIMESTAMP 列具有值。

   **解决方案**

   [确保数据集中的 EVENT\$1TIMESTAMP 列具有值，并且这些值符合支持的时间戳格式。](https://docs.aws.amazon.com/frauddetector/latest/ug/online-fraud-insights.html#timestamp-formats)如果 EVENT\$1TIMESTAMP 列中有缺失的值，则可以使用支持的时间戳格式回填这些值，也可以考虑完全删除事件，而不是输入、或之类的字符串。`none` `null` `missing`

### 未摄取数据
<a name="data-not-ingested"></a>

**问题类型：错误**

**描述**

未找到用于训练的已摄取事件，请检查您的训练配置。

**原因**

如果您使用存储在 Amazon Fraud Detector 中的事件数据创建模型，但在开始训练模型之前没有将数据集导入 Amazon Fraud Detector，则会发生此错误。

**解决方案**

使用 Amazon Fraud Detector 控制台中的 `CreateBatchImportJob` API 操作、API 操作或批量导入功能，首先导入您的事件数据，然后训练您的模型。`SendEvent`有关更多信息，请参阅[存储的事件数据集](https://docs.aws.amazon.com/frauddetector/latest/ug/storing-event-data-afd.html)。

**注意**  
我们建议您在完成数据导入后等待 10 分钟，然后再使用它来训练模型。

您可以使用 Amazon Fraud Detector 控制台来检查每种事件类型已经存储的事件数量。有关更多信息[，请参阅查看存储事件的指标](https://docs.aws.amazon.com/frauddetector/latest/ug/storing-event-data-afd.html#view-stored-event-metrics)。

### 变量不足
<a name="insufficient-variables"></a>

**问题类型：错误**

**描述**

数据集必须包含至少 2 个适合训练的变量。

**原因**

如果您的数据集包含的适合模型训练的变量少于 2 个，则会发生此错误。只有当变量通过所有验证后，Amazon Fraud Detector 才会认为该变量适合模型训练。如果变量验证失败，则会在模型训练中将其排除在外，您将在**模型训练诊断**中看到一条消息。

**解决方案**

确保您的数据集至少有两个用值填充的变量并通过所有数据验证。请注意，您提供列标题（EVENT\$1TIMESTAMP、EVENT\$1ID、ENTITY\$1ID、EVENT\$1LABEL 等）的事件元数据行不被视为变量。

### 变量类型缺失或不正确
<a name="missing-incorrect-variable-type"></a>

**问题类型：警告**

**描述**

的预期数据类型**\$1variable\$1name**是数字。查看和更新**\$1variable\$1name**您的数据集，然后重新训练模型。

**原因**

如果变量被定义为 NUMERIC 变量，但是在数据集中，它的值无法转换为 NUMERIC，则会收到此警告。因此，该变量被排除在模型训练中。

**解决方案**

如果要将其保留为 NUMERIC 变量，请确保您提供的值可以转换为浮点数。请注意，如果变量包含缺失值，请不要使用诸如`nonene``null`、或之类的字符串填充它们`missing`。如果变量确实包含非数字值，请将其重新创建为 CATEGORICAL 或 FREE\$1FORM\$1TEXT 变量类型。

### 缺少变量值
<a name="missing-variable-values"></a>

**问题类型：警告**

**描述**

您的训练数据集中**\$1variable\$1name**缺少大于的**\$1threshold**值。考虑修改**\$1variable\$1name**数据集并重新训练以提高性能。

**原因**

如果由于缺失值太多而丢弃了指定的变量，则会收到此警告。Amazon Fraud Detector 允许变量缺失值。但是，如果一个变量有太多的缺失值，则它对模型的贡献不大，并且该变量会在模型训练中被删除。

**解决方案**

首先，确认这些缺失值不是由于数据收集和准备中的错误造成的。如果它们是错误，那么你可以考虑将它们从模型训练中删除。但是，如果您确实认为这些缺失值很有价值，但仍想保留该变量，则可以在模型训练和实时推理中手动用常量填充缺失值。

### 唯一变量值不足
<a name="insufficient-unique-variable-values"></a>

**问题类型：警告**

**描述**

的唯一值计数小**\$1variable\$1name**于 100。查看和更新**\$1variable\$1name**您的数据集，然后重新训练模型。

**原因**

如果指定变量的唯一值数小于 100，则会收到此警告。阈值因变量类型而异。由于唯一值很少，数据集有可能不够通用，无法覆盖该变量的特征空间。因此，该模型可能无法很好地概括实时预测。

**解决方案**

首先，确保变量分布代表真实的业务流量。然后，你可以采用更多经过精细训练且基数更高的变量，例如使用`full_customer_name`代替`first_name`和`last_name`单独使用，也可以将变量类型更改为 CATEGORICAL，这样可以降低基数。

### 变量表达式不正确
<a name="incorrect-variable-expression"></a>

1. **问题类型：信息**

   **描述**

   大于 50% 的**\$1email\$1variable\$1name**值与预期的正则表达式 http://emailregex.com 不匹配。考虑修改**\$1email\$1variable\$1name**数据集并重新训练以提高性能。

   **原因**

   如果您的数据集中超过 50% 的记录的电子邮件值不符合正则电子邮件表达式，因此未通过验证，则会显示此信息。

   **解决方案**

   格式化电子邮件变量值以符合正则表达式。如果缺少电子邮件值，我们建议将它们留空，而不是用`none``null`、或之类的字符串填充`missing`。

1. **问题类型：信息**

   **描述**

   大于 50% 的**\$1IP\$1variable\$1name**值与正则表达式不匹配 IPv4 或 IPv6 地址 https://digitalfortress.tech/tricks/top-15-commonly-used-regex/。考虑修改**\$1IP\$1variable\$1name**数据集并重新训练以提高性能。

   **原因**

   如果您的数据集中超过 50% 的记录的 IP 值不符合正则 IP 表达式，因此验证失败，则会显示此信息。

   **解决方案**

   格式化 IP 值以符合正则表达式。如果缺少 IP 值，我们建议将其留空，而不是用`none``null`、或之类的字符串填充`missing`。

1. **问题类型：信息**

   **描述**

   大于 50% 的**\$1phone\$1variable\$1name**值与基本的电话正则表达式 /\$1pattern/ 不匹配。考虑修改**\$1phone\$1variable\$1name**数据集并重新训练以提高性能。

   **原因**

   如果您的数据集中超过 50% 的记录的电话号码不符合常规电话号码表达式，因此未通过验证，则会显示此信息。

   **解决方案**

   格式化电话号码以符合正则表达式。如果缺少电话号码，我们建议将其留空，而不是用`none``null`、或之类的字符串填充`missing`。

### 唯一实体不足
<a name="insufficient-unique-entities"></a>

**问题类型：信息**

**描述**

唯一实体的数量小于 1500。考虑添加更多数据以提高性能。

**原因**

如果您的数据集的唯一实体数量少于建议的数量，则会显示此信息。交易欺诈洞察 (TFI) 模型使用时间序列汇总和通用交易功能来提供最佳性能。如果您的数据集的唯一实体太少，则大多数通用数据（例如 IP\$1ADDRESS、EMAIL\$1ADDRESS）可能没有唯一值。然后，还有一个风险，即该数据集不够通用，无法覆盖该变量的特征空间。因此，该模型可能无法很好地概括来自新实体的交易。

**解决方案**

包括更多实体。如果需要，可以延长训练数据的时间范围。