

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

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

# 选择模型类型
<a name="choosing-model-type"></a>

Amazon Fraud Detector 中有以下模型类型。选择适合您的用例的模型类型。
+ **在线欺诈洞察**

  O *nline Fraud Insights* 模型类型经过优化，可以在几乎没有关于被评估实体的历史数据（例如，新客户在线注册新账户）时检测欺诈。
+ **交易欺诈洞察**

  Transaction Fraud *Insights* 模型类型最适合检测欺诈用例，在这种用例中，被评估的实体可能具有互动历史记录，模型可以分析这些历史记录以提高预测准确性（例如，具有过去购买历史的现有客户）。
+ **账户接管见解**

  *账户盗用见解*模型类型可检测账户是否因网络钓鱼或其他类型的攻击而遭到入侵。被盗账户的登录数据（例如登录时使用的浏览器和设备）与与该账户关联的历史登录数据不同。

# 在线欺诈洞察
<a name="online-fraud-insights"></a>

Online Fraud Insights 是一种受监督的机器学习模型，这意味着它使用欺诈和合法交易的历史示例来训练模型。在线欺诈洞察模型可以根据少量历史数据检测欺诈。该模型的输入非常灵活，因此您可以对其进行调整以检测各种欺诈风险，包括虚假评论、促销滥用和房客结账欺诈。

Online Fraud Insights 模型使用一系列机器学习算法进行数据扩充、转换和欺诈分类。作为模型训练过程的一部分，Online Fraud Insights使用第三方数据（例如IP地址或信用卡的发卡银行）丰富了IP地址和BIN号等原始数据元素。除第三方数据外，Online Fraud Insights还使用深度学习算法，该算法考虑了在亚马逊和亚马逊上看到的欺诈模式 AWS。使用梯度树提升算法，这些欺诈模式将成为模型的输入特征。

为了提高性能，Online Fraud Insights 通过贝叶斯优化过程优化梯度树提升算法的超参数。它按顺序训练数十种具有不同模型参数（例如树木数量、树木深度和每片树叶的样本数）的不同模型。它还使用不同的优化策略，例如增加少数族裔欺诈群体的权重，以应对非常低的欺诈率。

## 选择数据源
<a name="selecting-training-data-source-OFI"></a>

在训练在线欺诈洞察模型时，您可以选择根据存储在外部（Amazon Fraud Detector 之外）或存储在 Amazon Fraud Detector 中的事件数据来训练模型。Amazon Fraud Detector 目前支持的外部存储是亚马逊简单存储服务 (Amazon S3) Service。如果您使用的是外部存储，则必须将事件数据集以逗号分隔值 (CSV) 格式上传到 Amazon S3 存储桶。在模型训练配置中，这些数据存储选项被称为 EXTERNAL\$1EVENTS（用于外部存储）和 INGESTED\$1EVENTS（用于内部存储）。有关可用数据源以及如何在其中存储数据的更多信息，请参阅[事件数据存储](event-data-storage.md)。

## 准备数据
<a name="preparing-training-data-OFI"></a>

无论您选择将事件数据存储在哪里（Amazon S3 或 Amazon Fraud Detector），对在线欺诈洞察模型类型的要求都是一样的。

您的数据集必须包含列标题 EVENT\$1LABEL。此变量将事件归类为欺诈事件或合法事件。使用 CSV 文件（外部存储）时，必须在文件中包含每个事件的 EVENT\$1LABEL。对于内部存储，EVENT\$1LABEL 字段是可选的，但必须标记所有事件才能包含在训练数据集中。在配置模型训练时，您可以选择是忽略未标记的事件，为未标记的事件假设合法标签，还是为所有未标记的事件假设欺诈性标签。

## 选择数据
<a name="selecting-training-data-OFI"></a>

有关选择用于训练在线欺诈洞察模型的数据的信息，请参阅[收集事件](https://docs.aws.amazon.com//frauddetector/latest/ug/create-event-dataset.html#gather-event-data)数据。

在线欺诈洞察训练流程基于事件\$1TIMESTAMP对历史数据进行采样和分区。无需手动对数据进行采样，这样做可能会对模型结果产生负面影响。

## 事件变量
<a name="input-variables-OFI"></a>

除了所需的事件元数据外，Online Fraud Insights 模型至少需要两个变量，这些变量已通过模型训练[的数据验证](https://docs.aws.amazon.com//frauddetector/latest/ug/create-event-dataset.html#dataset-validation)，并且每个模型最多允许 100 个变量。通常，您提供的变量越多，模型就越能更好地区分欺诈和合法事件。虽然 Online Fraud Insights 模型可以支持数十个变量，包括自定义变量，但我们建议将 IP 地址和电子邮件地址包括在内，因为这些变量通常在识别被评估的实体方面最有效。

## 验证数据
<a name="training-data-validations-OFI"></a>

作为培训过程的一部分，Online Fraud Insights 将验证数据集中是否存在可能影响模型训练的数据质量问题。验证数据后，Amazon Fraud Detector 将采取适当的措施来构建尽可能好的模型。这包括针对潜在的数据质量问题发出警告，自动删除存在数据质量问题的变量，或者发出错误并停止模型训练过程。有关更多信息，请参阅[数据集验证](https://docs.aws.amazon.com//frauddetector/latest/ug/create-event-dataset.html#dataset-validation)。

# 交易欺诈见解
<a name="transaction-fraud-insights"></a>

交易欺诈洞察模型类型旨在检测在线欺诈或 card-not-present交易欺诈。Transaction Fraud Insights 是一种受监督的机器学习模型，这意味着它使用欺诈和合法交易的历史示例来训练模型。

Transaction Fraud Insights 模型使用一系列机器学习算法进行数据扩充、转换和欺诈分类。它利用功能工程引擎来创建实体级和事件级聚合。作为模型训练过程的一部分，Transaction Fraud Insights使用第三方数据（例如IP地址或信用卡的发卡银行）丰富了IP地址和BIN号等原始数据元素。除了第三方数据外，Transaction Fraud Insights还使用深度学习算法，这些算法考虑了在亚马逊上看到的欺诈模式， AWS 这些欺诈模式使用梯度树提升算法成为模型的输入特征。

为了提高性能，Transaction Fraud Insights通过贝叶斯优化过程优化梯度树提升算法的超参数，按顺序训练数十种不同的模型，这些模型具有不同的模型参数（例如树木数量、树木深度、每片树叶的样本数）以及不同的优化策略，例如增加少数族裔欺诈群体的权重以实现极低的欺诈率。

作为模型训练过程的一部分，Transaction Fraud 模型的特征工程引擎会计算训练数据集中每个唯一实体的值，以帮助改进欺诈预测。例如，在训练过程中，Amazon Fraud Detector 会计算并存储实体上次购买的时间，并在您每次调用`GetEventPrediction`或 `SendEvent` API 时动态更新此值。在欺诈预测期间，事件变量与其他实体和事件元数据相结合，以预测交易是否为欺诈行为。

## 选择数据源
<a name="selecting-training-data-source-TFI"></a>

交易欺诈洞察模型仅使用亚马逊欺诈探测器（INGESTED\$1EVENTS）内部存储的数据集进行训练。这允许 Amazon Fraud Detector 持续更新有关您正在评估的实体的计算值。有关可用数据源的更多信息，请参见 [事件数据存储](event-data-storage.md)

## 准备数据
<a name="preparing-training-data-TFI"></a>

在训练交易欺诈洞察模型之前，请确保您的数据文件包含[准备事件数据集](https://docs.aws.amazon.com//frauddetector/latest/ug/create-event-dataset.html#prepare-event-dataset)中提到的所有标题。Transaction Fraud Insights 模型将收到的新实体与数据集中欺诈和合法实体的示例进行比较，因此为每个实体提供许多示例会很有帮助。

Amazon Fraud Detector 会自动将存储的事件数据集转换为正确的训练格式。模型完成训练后，您可以查看性能指标并确定是否应将实体添加到训练数据集中。

## 选择数据
<a name="selecting-training-data-TFI"></a>

默认情况下，Transaction Fraud Insights 会根据您选择的事件类型对存储的整个数据集进行训练。您可以选择设置时间范围以减少用于训练模型的事件。设置时间范围时，请确保用于训练模型的记录有足够的时间成熟。也就是说，已经过了足够的时间来确保正确识别合法和欺诈记录。例如，对于信用卡拒付欺诈，通常需要 60 天或更长时间才能正确识别欺诈事件。为了获得最佳模型性能，请确保训练数据集中的所有记录都已成熟。

无需选择代表理想欺诈率的时间范围。Amazon Fraud Detector 会自动对您的数据进行采样，以在欺诈率、时间范围和实体数量之间取得平衡。

如果您选择的时间范围没有足够的事件来成功训练模型，Amazon Fraud Detector 将在模型训练期间返回验证错误。对于存储的数据集，EVENT\$1LABEL 字段是可选的，但必须对事件进行标记才能包含在训练数据集中。在配置模型训练时，您可以选择是忽略未标记的事件，为未标记的事件假设合法标签，还是为未标记的事件使用欺诈性标签。

## 事件变量
<a name="input-variables-TFI"></a>

除了必需的事件元数据外，用于训练模型的事件类型必须包含至少 2 个变量，这些变量已通过[数据验证](https://docs.aws.amazon.com//frauddetector/latest/ug/create-event-dataset.html#dataset-validation)，最多可包含 100 个变量。通常，您提供的变量越多，模型就越能更好地区分欺诈和合法事件。尽管 Transaction Fraud Insight 模型可以支持数十个变量，包括自定义变量，但我们建议您包括 IP 地址、电子邮件地址、支付工具类型、订单价格和信用卡 BIN。

## 验证数据
<a name="training-data-validations-TFI"></a>

作为训练过程的一部分，Transaction Fraud Insights 会验证训练数据集是否存在可能影响模型训练的数据质量问题。验证数据后，Amazon Fraud Detector 会采取适当的措施来构建尽可能好的模型。这包括针对潜在的数据质量问题发出警告，自动删除存在数据质量问题的变量，或者发出错误并停止模型训练过程。有关更多信息，请参阅[数据集验证](https://docs.aws.amazon.com//frauddetector/latest/ug/create-event-dataset.html#dataset-validation)。

Amazon Fraud Detector 将发出警告，但如果唯一实体的数量少于 1,500 个，则会继续训练模型，因为这可能会影响训练数据的质量。如果您收到警告，请查看[绩效指标](training-performance-metrics.md)。

# 账户接管见解
<a name="account-takeover-insights"></a>

Account Takeover Insights (ATI) 模型类型通过检测账户是否通过恶意收购、网络钓鱼或凭据被盗而遭到入侵，来识别欺诈性的在线活动。Account Takeover Insights 是一种机器学习模型，它使用来自在线业务的登录事件来训练模型。

您可以在实时登录流程中嵌入经过训练的账户接管洞察模型，以检测账户是否遭到入侵。该模型评估了各种身份验证和登录类型。它们包括 Web 应用程序登录、基于 API 的身份验证和 single-sign-on (SSO)。要使用账户接管见解模型，请在出示有效的登录凭据后调用 [GetEventPrediction](https://docs.aws.amazon.com/frauddetector/latest/api/API_GetEventPrediction.html)API。API 会生成一个分数，用于量化账户被盗的风险。Amazon Fraud Detector 使用您定义的分数和规则返回登录事件的一个或多个结果。结果是您配置的。根据您收到的结果，您可以对每次登录采取适当的措施。也就是说，您可以批准或质疑为登录而提供的凭据。例如，您可以通过要求提供账户 PIN 作为额外验证来质疑凭证。

您还可以使用账户接管见解模型来异步评估账户登录情况，并对高风险账户采取行动。例如，可以将高风险账户添加到调查队列中，供人工审阅者确定是否需要采取进一步行动，例如暂停该账户。

Account Takeover Insights 模型使用包含您企业历史登录事件的数据集进行训练。您提供这些数据。您可以选择将账户标记为合法账户或欺诈账户。但是，这并不是训练模型所必需的。账户接管见解模型根据账户成功登录的历史记录来检测异常情况。它还学习如何检测用户行为中的异常情况，这些异常表明恶意账户盗用事件的风险增加。例如，通常使用同一组设备和 IP 地址登录的用户。欺诈者通常使用不同的设备和地理位置登录。这种技术可以得出活动异常的风险评分，这通常是恶意账户接管的主要特征。

在训练账户接管见解模型之前，Amazon Fraud Detector 使用机器学习技术的组合来进行数据扩充、数据聚合和数据转换。然后，在训练过程中，Amazon Fraud Detector 会丰富您提供的原始数据元素。原始数据元素的示例包括 IP 地址和用户代理。Amazon Fraud Detector 使用这些元素来创建描述登录数据的额外输入。这些输入包括设备、浏览器和地理位置输入。Amazon Fraud Detector 还使用您提供的登录数据来持续计算描述过去用户行为的聚合变量。用户行为的示例包括用户从特定 IP 地址登录的次数。使用这些额外的增强功能和聚合，Amazon Fraud Detector 可以从您的登录事件中获得少量输入来生成强大的模型性能。

Account Takeover Insights 模型可以检测不良行为者访问合法账户的实例，无论不良行为者是人类还是机器人。该模型生成的单一分数表明账户被盗的相对风险。可能已被盗用的账户会被标记为高风险账户。您可以通过以下两种方式之一处理高风险账户。或者，您也可以强制执行额外的身份验证。或者，您可以将账户发送到队列进行手动调查。

## 选择数据源
<a name="selection-training-data-source-ATI"></a>

账户接管见解模型是根据存储在内部的 Amazon Fraud Detector 中的数据集进行训练的。要使用 Amazon Fraud Detector 存储您的登录事件数据，请创建一个包含用户登录事件的 CSV 文件。对于每个事件，包括登录数据，例如事件时间戳、用户 ID、IP 地址、用户代理以及登录数据是否有效。创建 CSV 文件后，首先将文件上传到 Amazon Fraud Detector，然后使用导入功能存储数据。然后，您可以使用存储的数据训练模型。有关使用 Amazon Fraud Detector 存储事件数据集的更多信息，请参阅 [使用 Amazon Fraud Detector 在内部存储您的事件数据](storing-event-data-afd.md)

## 准备数据
<a name="preparing-training-data-ATI"></a>

Amazon Fraud Detector 要求您以逗号分隔值 (CSV) 文件形式提供您的用户账户登录数据，该文件以 UTF-8 格式编码。CSV 文件的第一行必须包含文件头。文件头由描述每个数据元素的事件元数据和事件变量组成。标题后面有事件数据。事件数据中的每一行都由来自单个登录事件的数据组成。

对于 Accounts Takeover Insights 模型，您必须在 CSV 文件的标题行中提供以下事件元数据和事件变量。

**事件元数据**

我们建议您在 CSV 文件标题中提供以下元数据。事件元数据必须使用大写字母。
+ EVENT\$1ID-登录事件的唯一标识符。
+ ENTITY\$1TYPE-执行登录事件的实体，例如商家或客户。
+ ENTITY\$1ID-执行登录事件的实体的标识符。
+ EVENT\$1TIMESTAMP-登录事件发生的时间戳。时间戳必须采用 ISO 8601 标准（UTC）。
+ EVENT\$1LABEL（推荐）-将事件归类为欺诈或合法事件的标签。您可以使用任何标签，例如 “欺诈”、“合法”、“1” 或 “0”。

**注意**  
事件元数据必须使用大写字母。它区分大小写。
登录事件不需要标签。但是，我们建议您包含 EVENT\$1LABEL 元数据并为登录事件提供标签。如果标签不完整或零星也没关系。如果您提供标签，Amazon Fraud Detector 将使用它们来自动计算账户接管发现率，并将其显示在模型绩效图表和表格中。

**事件变量**

对于 Accounts Takeover Insights 模型，您必须提供必需（必须）变量和可选变量。创建变量时，请确保将变量分配给正确的变量类型。作为模型训练过程的一部分，Amazon Fraud Detector 使用与变量关联的变量类型来进行变量扩充和特征工程。

**注意**  
事件变量名称必须使用小写字母。它们区分大小写。

**必填变量**

训练账户接管洞察模型需要以下变量。


| 类别 | 变量类型 | 说明 | 
| --- | --- | --- | 
| IP 地址 | IP\$1ADDRESS | 登录事件中使用的 IP 地址 | 
| 浏览器和设备 | 用户代理 | 登录事件中使用的浏览器、设备和操作系统 | 
| 有效的凭证 | VALIDCRED | 表示用于登录的凭据是否有效 | 

**可选变量**

以下变量是训练账户接管洞察模型的可选变量。


| 类别 | Type | 说明 | 
| --- | --- | --- | 
| 浏览器和设备 | 指纹 | 浏览器或设备指纹的唯一标识符 | 
| 会话 ID | SESSION\$1ID | 身份验证会话的标识符 | 
| 标签 | 事件标签 | 将事件归类为欺诈性或合法性的标签。您可以使用任何标签，例如 “欺诈”、“合法”、“1” 或 “0”。 | 
| Timestamp | LABEL\$1TIMESTAMP | 标签上次更新的时间戳。如果提供了 EVENT\$1LABEL，则这是必需的。 | 

**注意**  
您可以为两个必填变量可选变量提供任何变量名称。必须将每个必填变量和可选变量分配给正确的变量类型。
您可以提供其他变量。但是，Amazon Fraud Detector 不会在训练账户接管见解模型时包含这些变量。

## 选择数据
<a name="selecting-training-data-ATI"></a>

收集数据是创建账户接管洞察模型的重要一步。开始收集登录数据时，请考虑以下要求和建议：

**必填**
+ 提供至少 1,500 个用户账户示例，每个示例至少包含两个关联的登录事件。
+ 您的数据集必须涵盖至少 30 天的登录事件。您可以稍后指定用于训练模型的事件的特定时间范围。

**推荐**
+ 您的数据集包含登录失败事件的示例。您可以选择将这些失败的登录标记为 “欺诈” 或 “合法”。
+ 使用跨越六个月的登录事件准备历史数据，包括 10 万个实体。

如果您没有已满足最低要求的数据集，可以考虑通过调用 [SendEvent](https://docs.aws.amazon.com/frauddetector/latest/api/API_SendEvent.html)API 操作将事件数据流式传输到 Amazon Fraud Detector。

## 验证数据
<a name="training-data-validations-ATI"></a>

在创建账户接管见解模型之前，Amazon Fraud Detector 会检查您在数据集中包含的用于训练模型的元数据和变量是否符合大小和格式要求。有关更多信息，请参阅 [数据集验证](create-event-dataset.md#dataset-validation)。它还会检查其他要求。如果数据集未通过验证，则不会创建模型。要成功创建模型，请务必在再次训练之前修复未通过验证的数据。

**常见的数据集错误**

在验证用于训练账户接管见解模型的数据集时，Amazon Fraud Detector 会扫描这些问题和其他问题，如果遇到一个或多个问题，则会抛出错误。
+ CSV 文件不是 UTF-8 格式。
+ CSV 文件标头不包含以下至少一个元数据：`EVENT_ID``ENTITY_ID`、或`EVENT_TIMESTAMP`。
+ CSV 文件头不包含以下变量类型的至少一个变量：`IP_ADDRESS``USERAGENT`、或`VALIDCRED`。
+ 有不止一个变量与同一个变量类型相关联。
+ 中超过 0.1% 的值`EVENT_TIMESTAMP`包含空值或支持的日期和时间戳格式以外的值。
+ 从第一个事件到最后一个事件之间的天数少于 30 天。
+ 变量类型的`IP_ADDRESS`变量中有超过 10% 无效或为空。
+ 超过 50% 的变量类型的`USERAGENT`变量包含空值。
+ 变量类型的所有`VALIDCRED`变量都设置为`false`。