

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

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

# 变量
<a name="variables"></a>

变量表示您要在欺诈预测中使用的数据元素。这些变量可以取自您为训练模型准备的事件数据集、Amazon Fraud Detector 模型的风险评分输出或亚马逊 SageMaker AI 模型。有关从事件数据集中获取的变量的更多信息，请参阅[使用数据模型资源管理器获取事件数据集要求](create-event-dataset.md#prepare-event-dataset)。

必须先创建要在欺诈预测中使用的变量，然后在创建事件类型时将其添加到事件中。您创建的每个变量都必须分配一个数据类型、一个默认值以及一个可选的变量类型。Amazon Fraud Detector 丰富了您提供的一些变量，例如 IP 地址、银行识别码 (BINs) 和电话号码，以创建更多输入并提高使用这些变量的模型的性能。

## 数据类型
<a name="data-types"></a>

变量必须具有变量所表示的数据元素的数据类型，并且可以选择为其分配一个预定义的数据类型[变量类型](#variable-types)。对于分配给变量类型的变量，会预先选择数据类型。可能的数据类型包括以下类型：


| 数据类型 | 说明  | 默认 值 | 示例值 | 
| --- | --- | --- | --- | 
| 字符串 | 字母、整数或两者的任意组合 | <empty> |  abc、123、1D3B  | 
| 整数 | 正整数或负整数 | 0 | 1, -1 | 
| 布尔值 | 对还是错 | False | True, False | 
| DateTime | 仅以 ISO 8601 标准 UTC 格式指定的日期和时间 | <empty> | 2019-11-30T 13:01:01 Z | 
| 浮点型 | 带小数点的数字 | 0.0 | 4.01、0.10 | 

## 默认 值
<a name="default-value"></a>

变量必须具有默认值。当 Amazon Fraud Detector 生成欺诈预测时，如果 Amazon Fraud Detector 没有收到变量的值，则使用此默认值来运行规则或模型。您提供的默认值必须与选定的数据类型相匹配。在 AWS 控制台中，Amazon Fraud Detector `0` 为整数、`false`布尔值、浮点数和`0.0`字符串分配默认值（空）。您可以为其中任何一种数据类型设置自定义默认值。

## 变量类型
<a name="variable-types"></a>

创建变量时，可以选择将变量分配给变量类型。变量类型表示用于训练模型和生成欺诈预测的常见数据元素。只有关联变量类型的变量才能用于模型训练。作为模型训练过程的一部分，Amazon Fraud Detector 使用与变量关联的变量类型来执行变量扩充、功能工程和风险评分。

Amazon Fraud Detector 已预先定义了以下变量类型，这些变量类型可用于分配给您的变量。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/frauddetector/latest/ug/variables.html)

### 将变量赋给变量类型
<a name="assign-variable-to-variable-type"></a>

如果您计划使用变量来训练模型，请务必选择正确的变量类型来分配给该变量。不正确的变量类型分配可能会对模型性能产生负面影响。以后更改赋值也可能变得非常困难，尤其是在多个模型和事件都使用了该变量的情况下。

您可以为变量分配任何一种预定义变量类型或其中一种自定义变量类型 — `FREE_FORM_TEXT` `CATEGORICAL`、或`NUMERIC`。

**为正确的变量类型分配变量的重要注意事项**

1. 如果该变量与预定义的变量类型之一匹配，请使用它。确保变量类型与变量相对应。例如，如果您为变量类型分配一个 *ip\$1addr* ess `EMAIL_ADDRESS` 变量，则 ip\$1address 变量将不会充实 ASN、ISP、地理位置和风险评分等丰富内容。有关更多信息，请参阅 [变量丰富](#variable-enrichments)。

1. 如果变量与任何预定义的变量类型都不匹配，请按照下面列出的建议分配其中一个自定义变量类型。

1. 为`CATEGORICAL`变量分配变量类型，这些变量通常没有自然排序，可以归入类别、区段或组。*您用来训练模型的数据集可能有 ID 变量，例如 m *erchant\$1id、campaign\$1id* 或 policy *\$1i* d。*这些变量代表群组（例如，所有具有相同 policy\$1id 的客户都代表一个群组）。必须为具有以下数据的变量分配分类变量类型-
   + **包含*客户 ID、细分市场 ID、col *or\$1* ID* *、部门代码或产品 ID* 等数据的变量。**
   + 包含布尔值为真、假或空值的变量。
   + 可以分组或类别的变量，例如公司名称、产品类别、卡片类型或推荐媒介。
**注意**  
`ENTITY_ID`是 Amazon Fraud Detector 用来分配给 ENTITY\$1ID 变量的保留变量类型。ENTITY\$1ID 变量是启动要评估的操作的实体的 ID。如果您要创建 “交易欺诈洞察” (TFI) 模型类型，则需要提供 ENTITY\$1ID 变量。您需要决定数据中的哪个变量唯一标识启动操作的实体，并将其作为 ENTITY\$1ID 变量传递。将 CATEGORICAL 变量类型分配给数据集 IDs 中的所有其他变量，前提是它们存在并且您是否正在使用它们进行模型训练。*其他不 IDs 属于您的数据集实体的示例可以是*卖家 ID、P *olicy\$1ID 和 Campaign\$1* ID*。*

1. 为包含文本块的变量分配`FREE_FORM_TEXT`变量类型。*FREE\$1FORM\$1TEXT 变量类型的示例有：*用户评论*、*评论*、*日期和推荐码*。*FREE\$1FORM\$1TEXT 数据包含多个由分隔符分隔的标记。分隔符可以是除字母数字和下划线符号以外的任何字符。例如，用户评论和评论可以用 “空格” 分隔符分隔，日期和推荐代码可以使用连字符作为分隔符来分隔前缀、后缀和中间部分。Amazon Fraud Detector 使用分隔符从 FREE\$1FORM\$1TEXT 变量中提取数据。

1. 为实*数且具有固有顺序的变量赋值 NUMER* IC 变量类型。**数字变量的示例包括 *day\$1of\$1the\$1week、事件严重性、客户评级*。**尽管您可以为这些变量分配 CATEGORICAL 变量类型，但我们强烈建议将所有具有固有顺序的实数变量赋给 NUMERIC 变量类型。

## 变量丰富
<a name="variable-enrichments"></a>

Amazon Fraud Detector 丰富了您提供的一些原始数据元素，例如 IP 地址、银行识别号码 (BINs) 和电话号码，以创建更多输入并提高使用这些数据元素的模型的性能。丰富功能有助于识别潜在的可疑情况，并帮助模型捕获更多的欺诈行为。

### 电话号码充实
<a name="phone-number-enrichment"></a>

Amazon Fraud Detector 通过与地理位置、原始运营商和电话号码有效性相关的其他信息来丰富电话号码数据。所有在 *2021 年 12 月 13 日*当天或之后接受培训且电话号码包含国家/地区代码 (\$1xxx) 的模特都会自动启用电话号码扩充功能。如果您在模型中加入了电话号码变量，并且在 *2021 年 12 月 13 日*之前对其进行了训练，请重新训练您的模型，使其能够利用此增强功能。

我们强烈建议您对电话号码变量使用以下格式，以确保成功丰富您的数据。


| 变量 | Format | 说明 | 
| --- | --- | --- | 
| PHONE\$1NUMBER | [E.164 标准](https://en.wikipedia.org/wiki/E.164) | 请务必在电话号码中包含国家/地区代码 (\$1xxx)。 | 
| 账单\$1电话和配送\$1电话 | [E.164 标准](https://en.wikipedia.org/wiki/E.164) | 请务必在电话号码中包含国家/地区代码 (\$1xxx)。 | 

### 丰富地理定位
<a name="geolocation-enrichment"></a>

从 *2022 年 2 月 8 日起，*Amazon Fraud Detector 将计算您为活动提供的 IP 地址、账单邮政编码和 SHIPPING\$1ZIP 值之间的物理距离。计算出的距离用作欺诈检测模型的输入。

要启用地理位置丰富功能，您的事件数据必须至少包含三个变量中的两个：IP\$1ADDRESS、BILLING\$1ZIP 或 SHIPPING\$1ZIP。此外，每个 BILLING\$1ZIP 和 SHIPPING\$1ZIP 值必须分别具有有效的账单国家/地区代码和 SHIPPING\$1COUNTRY 代码。如果您的模型在 *2022 年 2 月 8 日之前训练过，*并且包含这些变量，则必须重新训练模型以启用地理定位扩展。

如果由于数据无效，Amazon Fraud Detector 无法确定与事件的 IP\$1ADDRESS、BILLING\$1ZIP 或 SHIPPING\$1ZIP 值关联的位置，则改用特殊的占位符值。例如，假设一个事件具有有效的 IP\$1ADDRESS 和 BILLING\$1ZIP 值，但是 SHIPPING\$1ZIP 值无效。在这种情况下，仅对 IP\$1ADDRESS—> BILLING\$1ZIP 进行扩充。未对 IP\$1ADDRESS — >SHIPPING\$1ZIP 和 BILLING\$1ZIP — >SHIPPING\$1ZIP 进行扩展。取而代之的是使用占位符值来代替它们。无论您的模型是否启用了地理位置扩展，模型的性能都不会改变。

您可以通过将 BILLING\$1ZIP 和 SHIPPING\$1ZIP 变量映射到 CUSTOM\$1CATEGORICAL 变量类型来选择退出地理位置扩展。更改变量类型不会影响模型的性能。

**地理定位变量格式**

我们强烈建议您对地理位置变量使用以下格式，以确保成功丰富您的位置数据。


| 变量 | Format | 说明 | 
| --- | --- | --- | 
| IP\$1ADDRESS | [IPv4](https://en.wikipedia.org/wiki/IP_address#IPv4_addresses)地址 | 例如-1.1.1.1 | 
| 账单邮政编码和配送邮政编码 | 指定国家/地区的 [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) 邮政编码  | 有关更多信息，请参阅本主题中的国家和地区代码部分。 | 
| 账单所在国家/地区和配送国家 | [ISO 3166-1 alpha-2 双字母](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)标准国家/地区代码 | 有关更多信息，请参阅本主题中的国家和地区代码部分。Amazon Fraud Detector 试图将一个国家/地区名称的所有常见变体与其 ISO 3166-1 两个字母的标准国家/地区代码进行匹配。但是，我们不能保证它们会正确匹配。 | 

#### 国家和地区代码
<a name="countries-code-format"></a>

下表提供了 Amazon Fraud Detector 支持用于丰富地理位置的国家和地区的完整列表。每个国家和地区都有指定的国家/地区代码（具体而言，ISO 3166-1 alpha-2 由两个字母组成的国家/地区代码）和一个邮政编码。

**邮政编码格式**
+ 9-数字
+  a-字母
+ [X]-X 是可选的。例如，Guersney “GY9[9] 9aa” 表示 “9aa” 和 “GY9 9aa” 均有效GY99 。使用一种格式。
+ [X/XX]-可以使用 X 或 XX。例如，百慕大 “aa [aa/99]” 表示 “aa aa” 和 “aa 99” 均有效。使用其中任何一种格式，但*不要*同时使用这两种格式。
+ 有些国家/地区有固定的前缀。例如，安道尔的 AD999邮政编码是。这意味着国家/地区代码必须以字母 *AD* 开头，后跟三个数字。


| 代码 | Name  | 邮政编码 | 
| --- | --- | --- | 
| AD | 安道尔 | AD999 | 
| AR | 荷属安的列斯 | 9999 | 
| AT | 奥地利 | 9999 | 
| AU | 澳大利亚 | 9999 | 
| AZ | 阿塞拜疆 | AZ 9999 | 
| BD | 孟加拉国 | 9999 | 
| BE | 比利时 | 9999 | 
| BG | 保加利亚 | 9999 | 
| BM | 百慕大 | aa [aa/99] | 
| BY | 白俄罗斯 | 999999 | 
| CA | 加拿大 | a9a 9a9 | 
| CH | 瑞士 | 9999 | 
| CL | 智利 | 9999999 | 
| CO | 哥伦比亚 | 999999 | 
| CR | 哥斯达黎加 | 99999 | 
| CY | 塞浦路斯 | 9999 | 
| CZ | 捷克 | 999 99 | 
| DE | 德国 | 99999 | 
| DK | 丹麦 | 9999 | 
| DO | 多米尼加共和国 | 99999 | 
| DZ | 阿尔及利亚 | 99999 | 
| EE | 爱沙尼亚 | 99999 | 
| ES | 西班牙 | 99999 | 
| FI | 芬兰 | 99999 | 
| FM | Federated States of Micronesia | 99999 | 
| FO | 法罗群岛 | 999 | 
| FR | 法国 | 99999 | 
| GB | 英国 | a [a] 9 [a/9] 9aa  | 
| GG | 根西岛 | GY9[9] 9aa | 
| GL | 格陵兰 | 9999 | 
| GP | 瓜德罗普 | 99999 | 
| GT | 危地马拉 | 99999 | 
| GU | 关岛 | 99999 | 
| HR | 克罗地亚 | 99999 | 
| HU | 匈牙利 | 9999 | 
| IE | 爱尔兰 | a99 [a/9] [a/9] [a/9] [a/9] | 
| IM | 马恩岛 | IM9[9] 9aa | 
| IN | 印度 | 999999 | 
| IS | Iceland | 999 | 
| IT | 意大利 | 99999 | 
| JE | Jersey | JE9[9] 9aa | 
| JP | 日本 | 999-9999 | 
| KR | 大韩民国 | 99999 | 
| LI | 列支敦士登 | 9999 | 
| LK | 斯里兰卡 | 99999 | 
| LT | 立陶宛 | 99999 | 
| LU | 卢森堡 | L-9999 | 
| LV | 拉脱维亚 | LV-9999 | 
| MC | 摩纳哥 | 99999 | 
| MD | 摩尔多瓦共和国 | 9999 | 
| MH | 马绍尔群岛 | 99999 | 
| MK | 北马其顿 | 9999 | 
| MP | 北马里亚纳群岛 | 99999 | 
| MQ | Matinique | 99999 | 
| MT | 马耳他 | aaa 9999 | 
| MX | 墨西哥 | 99999 | 
| MY | 马来西亚 | 99999 | 
| NL | 荷兰 | 999 aa | 
| NO | 挪威 | 9999 | 
| NZ | 新西兰 | 9999 | 
| PH | 菲律宾 | 9999 | 
| PK | 巴基斯坦 | 99999 | 
| PL | 波兰 | 99-999 | 
| PR | 波多黎各 | 99999 | 
| PT | 葡萄牙 | 9999-999 | 
| PW | 帕劳群岛 | 99999 | 
| RE |  留尼汪  | 99999 | 
| RO | 罗马尼亚 | 999999 | 
| RU | 俄罗斯联邦 | 999999 | 
| SE | 瑞典 | 999 99 | 
| SG | 新加坡 | 999999 | 
| SI | 斯洛文尼亚 | 9999 | 
| SK | 斯洛伐克 | 999 99 | 
| SM | 圣马力诺 | 99999 | 
| TH | 泰国 | 99999 | 
| TR | 土耳其 | 99999 | 
| UA | 乌克兰 | 99999 | 
| 美国 | 美国 | 99999 | 
| UY | 乌拉圭 | 99999 | 
| VI | 美属维尔京群岛 | 99999 | 
| WF | 瓦利斯和富图纳群岛 | 99999 | 
| YT | 马约特岛 | 99999 | 
| ZA | 南非 | 9999 | 

### 用户代理充实
<a name="useragent-enrichment"></a>

如果您创建账户接管见解 (ATI) 模型，则必须在数据集中提供`useragent`变量类型的变量。此变量包含登录事件的浏览器、设备和操作系统数据。Amazon Fraud Detector 使用其他信息（例如`user_agent_family``OS_family`、和）丰富了用户代理数据。`device_family`

# 创建变量
<a name="create-a-variable"></a>

您可以在 Amazon Fraud Detector 控制台中[创建变量，使用创建变量](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/frauddetector/create-variable.html)命令 [CreateVariable](https://docs.aws.amazon.com/frauddetector/latest/api/API_CreateVariable.html)，使用或使用 适用于 Python (Boto3) 的 AWS SDK

## 使用 Amazon Fraud Detector 控制台创建变量
<a name="create-a-variable-using-console"></a>

此示例创建了两个变量`email_address`和`ip_address`，并将它们分配给相应的变量类型（`EMAIL_ADDRESS`和`IP_ADDRESS`）。这些变量用作示例。如果您要创建用于模型训练的变量，请使用数据集中适合您的用例的变量。在创建变量[变量丰富](variables.md#variable-enrichments)之前[变量类型](variables.md#variable-types)，请务必阅读和的内容。

**要创建变量，**

1. 打开 [AWS 管理控制台](https://console.aws.amazon.com/)，登录您的账户。

1. 导航至 Amazon Fraud Detector，在左侧导航栏中选择 “**变量**”，然后选择 “**创建**”。

1. 在 “**新建变量**” 页面中，输入变量名`email_address`作为变量。（可选）输入变量的描述。

1. 在**变量类型**中，选择**电子邮件地址**。

1. Amazon Fraud Detector 会自动为此变量类型选择数据类型，因为该变量类型是预定义的。如果您的变量未自动分配变量类型，请从列表中选择变量类型。有关更多信息，请参阅 [变量类型](variables.md#variable-types)。

1. 如果要为变量提供默认值，请选择 “**定义自定义默认值**”，然后为变量输入默认值。如果您正在使用此示例，请跳过此步骤。

1. 选择**创建**。

1. 在 **email\$1address 概述**页面中，确认您刚刚创建的变量的详细信息。

   如果您需要更新，请选择**编辑**并提供更新。选择**保存更改**。

1. 重复该过程以创建另一个变量`ip_address`，然后为变量类型选择 **IP 地址**。

1. **变量**页面显示新创建的变量。

**重要**  
我们建议您根据需要从数据集中创建任意数量的变量。您可以稍后在创建事件类型时决定要包含哪些变量来训练模型以检测欺诈和生成欺诈检测。

## 使用创建变量 适用于 Python (Boto3) 的 AWS SDK
<a name="create-a-variable-using-the-aws-python-sdk"></a>

以下示例显示了对 [CreateVariable](https://docs.aws.amazon.com/frauddetector/latest/api/API_CreateVariable.html)API 的请求。该示例创建了两个变量`email_address`和`ip_address`，并将它们分配给相应的变量类型（`EMAIL_ADDRESS`和`IP_ADDRESS`）。

这些变量用作示例。如果您要创建用于模型训练的变量，请使用数据集中适合您的用例的变量。在创建变量[变量丰富](variables.md#variable-enrichments)之前[变量类型](variables.md#variable-types)，请务必阅读和的内容。

请务必指定变量源。它有助于确定变量值的派生位置。如果变量源为 EV **EN** T，则变量值将作为[GetEventPrediction](https://docs.aws.amazon.com/frauddetector/latest/api/API_GetEventPrediction.html)请求的一部分发送。如果变量值为`MODEL_SCORE`，则由 Amazon Fraud Detector 填充它。如果为`EXTERNAL_MODEL_SCORE`，则变量值由导入的 SageMaker AI 模型填充。

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

 #Create variable email_address
   fraudDetector.create_variable(
     name = 'email_address',
     variableType = 'EMAIL_ADDRESS',
     dataSource = 'EVENT',
     dataType = 'STRING',
     defaultValue = '<unknown>'
     )

#Create variable ip_address
   fraudDetector.create_variable(
     name = 'ip_address',
     variableType = 'IP_ADDRESS',
     dataSource = 'EVENT',
     dataType = 'STRING',
     defaultValue = '<unknown>'
     )
```

# 删除变量
<a name="delete-variable"></a>

当您删除变量时，Amazon Fraud Detector 会永久删除该变量，并且数据将不再存储在 Amazon Fraud Detector 中。

您无法在 Amazon Fraud Detector 中删除事件类型中包含的变量。您必须先删除与该变量关联的事件类型，然后再删除该变量。

您无法手动删除 Amazon Fraud Detector 模型输出变量和 SageMaker AI 模型输出变量。当您删除模型时，Amazon Fraud Detector 会自动删除模型输出变量。

您可以在 Amazon Fraud Detec [tor 控制台中删除变量，使用删除变量 CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/frauddetector/delete-variable.html) 命令，使用 [DeleteVariable](https://docs.aws.amazon.com/frauddetector/latest/api/API_DeleteVariable.html)API 或使用 适用于 Python (Boto3) 的 AWS SDK

## 使用控制台删除变量
<a name="delete-variable-console"></a>

**要删除变量，**

1. 登录 AWS 管理控制台 并打开 Amazon Fraud Detector 控制台，网址为 [https://console.aws.amazon.com/fra](https://console.aws.amazon.com/frauddetector) uddetector。

1. 在 Amazon Fraud Detector 控制台的左侧导航窗格中，选择**资源**，然后选择**变量**。

1. 选择要删除的变量。

1. 选择**操作**，然后选择**删除**。

1. 输入变量名，然后选择**删除变量**。

## 使用删除变量 适用于 Python (Boto3) 的 AWS SDK
<a name="delete-variable-using-the-aws-python-sdk"></a>

以下代码示例使用 API 删除变量 *customer\$1nam* e。[DeleteVariable](https://docs.aws.amazon.com/frauddetector/latest/api/API_DeleteVariable.html)

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

fraudDetector.delete_variable (

name = 'customer_name'

)
```