

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

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

# 构建模型
<a name="building-a-model"></a>

Amazon Fraud Detector 模型学习检测特定事件类型的欺诈行为。在 Amazon Fraud Detector 中，您首先创建一个模型，该模型充当模型版本的容器。每次训练模型时，都会创建一个新版本。有关如何使用 AWS 控制台创建和训练模型的详细信息，请参阅[步骤 3：创建模型](part-a.md#step-3-create-new-ml-model)。

每个模型都有相应的模型分数变量。当你创建模型时，Amazon Fraud Detector 会代表你创建这个变量。您可以在规则表达式中使用此变量来解释欺诈评估期间的模型分数。

## 使用训练和部署模型 适用于 Python (Boto3) 的 AWS SDK
<a name="train-and-deploy-a-model-using-the-aws-python-sdk"></a>

模型版本是通过调用`CreateModel`和`CreateModelVersion`操作创建的。 `CreateModel`启动模型，该模型充当模型版本的容器。 `CreateModelVersion`启动训练过程，从而生成模型的特定版本。每当您调用 `CreateModelVersion` 时，就会创建一个新版本的解决方案。

以下示例显示了对 `CreateModel` API 的请求示例。此示例创建了 *Online Fraud Insights* 模型类型，并假设您已经创建了事件类型`sample_registration`。有关创建事件类型的更多详细信息，请参阅[创建事件类型](create-event-type.md)。

```
import boto3
fraudDetector = boto3.client('frauddetector')

fraudDetector.create_model (
modelId = 'sample_fraud_detection_model',
eventTypeName = 'sample_registration',
modelType = 'ONLINE_FRAUD_INSIGHTS')
```

使用 [CreateModelVersion](https://docs.aws.amazon.com//frauddetector/latest/api/API_CreateModelVersion.html)API 训练你的第一个版本。对于`TrainingDataSource`和，`ExternalEventsDetail`请指定训练数据集的源和 Amazon S3 的位置。`TrainingDataSchema`请指定 Amazon Fraud Detector 应如何解释训练数据，特别是要包含哪些事件变量以及如何对事件标签进行分类。默认情况下，Amazon Fraud Detector 会忽略未标记的事件。此示例代码`AUTO`用于`unlabeledEventsTreatment`指定 Amazon Fraud Detector 决定如何使用未标记的事件。

```
import boto3
fraudDetector = boto3.client('frauddetector')

fraudDetector.create_model_version (
modelId = 'sample_fraud_detection_model',
modelType = 'ONLINE_FRAUD_INSIGHTS',
trainingDataSource = 'EXTERNAL_EVENTS',
trainingDataSchema = {
    'modelVariables' : ['ip_address', 'email_address'],
    'labelSchema' : {
        'labelMapper' : {
            'FRAUD' : ['fraud'],
            'LEGIT' : ['legit']
        }
       unlabeledEventsTreatment = 'AUTO'
    }
}, 
externalEventsDetail = {
    'dataLocation' : 's3://bucket/file.csv',
    'dataAccessRoleArn' : 'role_arn'
}
)
```

成功请求将生成一个带有状态的新模型版本`TRAINING_IN_PROGRESS`。在训练期间的任何时候，您都可以通过调用`UpdateModelVersionStatus`并将状态更新为来取消训练`TRAINING_CANCELLED`。训练完成后，模型版本状态将更新为`TRAINING_COMPLETE`。您可以使用 Amazon Fraud Detector 控制台或致电来查看模型性能`DescribeModelVersions`。有关如何解释模型分数和性能的更多信息，请参阅[模型分数](model-scores.md)和[对性能指标进行建模](training-performance-metrics.md)。

 查看模型性能后，激活该模型，使其可供探测器在实时欺诈预测中使用。Amazon Fraud Detector 将在多个可用区域部署模型以实现冗余，同时开启自动缩放功能，确保模型可根据您所做的欺诈预测数量进行扩展。要激活模型，请调用 `UpdateModelVersionStatus` API 并将状态更新为`ACTIVE`。

```
import boto3
fraudDetector = boto3.client('frauddetector')

fraudDetector.update_model_version_status (
modelId = 'sample_fraud_detection_model',
modelType = 'ONLINE_FRAUD_INSIGHTS',
modelVersionNumber = '1.00',
status = 'ACTIVE'
)
```