事件数据集 - Amazon Fraud Detector

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

事件数据集

事件数据集是贵公司的历史欺诈数据。您将这些数据提供给亚马逊Fraud Detector 以创建欺诈检测模型。

Amazon Fraud Detector 使用机器学习模型生成欺诈预测。每个模型都使用模型类型进行训练。模型类型指定了用于训练模型的算法和转换。模型训练是使用您提供的数据集来创建可以预测欺诈事件的模型的过程。有关更多信息,请参阅 Amazon Fraud Detector Detec

用于创建欺诈检测模型的数据集提供事件的详细信息。事件是对欺诈风险进行评估的业务活动。例如,账户注册可以是一项活动。与账户注册事件相关的数据可以是事件数据集。Amazon Fraud Detector 使用此数据集来评估账户注册欺诈。

在向 Amazon Fraud Detector 提供数据集以创建模型之前,请务必定义创建模型的目标。您还需要确定要如何使用该模型,并定义您的指标,以根据您的特定要求评估该模型的性能是否良好。

例如,创建用于评估账户注册欺诈的欺诈检测模型的目标可能如下:

  • 自动批准合法注册。

  • 捕获欺诈性注册以供日后调查。

确定目标后,下一步是决定如何使用该模型。以下是使用欺诈检测模型评估注册欺诈的一些示例:

  • 用于对每个账户注册进行实时欺诈检测。

  • 每小时对所有账户注册进行离线评估。

可用于衡量模型性能的一些指标示例包括:

  • 在生产中,性能一直优于当前的基线。

  • 捕获 X% 的欺诈注册,误报率为 Y%。

  • 最多可接受 5% 的自动批准的欺诈性注册。

事件数据集结构

Amazon Fraud Detector 要求您使用 UTF-8 格式的逗号分隔值 (CSV) 在文本文件中提供事件数据集。CSV 数据集文件的第一行必须包含文件标头。文件头由事件元数据和事件变量组成,这些变量描述了与事件相关的每个数据元素。标题后面是事件数据。每行由来自单个事件的数据元素组成。

  • 事件元数据-提供有关事件的信息。例如,EVENT_TIMESTAMP 是指定事件发生时间的事件元数据。根据您的业务用例以及用于创建和训练欺诈检测模型的模型类型,Amazon Fraud Detector 要求您提供特定的事件元数据。在 CSV 文件标题中指定事件元数据时,请使用与 Amazon Fraud Detector 指定的相同的事件元数据名称,并且仅使用大写字母。

  • 事件变量-表示特定于您的事件的数据元素,您要使用这些数据元素来创建和训练欺诈检测模型。根据您的业务用例以及用于创建和训练欺诈检测模型的模型类型,Amazon Fraud Detector 可能会要求或建议您提供特定的事件变量。您也可以选择提供事件中的其他事件变量,这些变量要包含在模型训练中。在线注册活动的事件变量的一些示例可以是电子邮件地址、IP 地址和电话号码。在 CSV 文件标题中指定事件变量名称时,请使用您选择的任何变量名称并仅使用小写字母。

  • 事件数据-表示从实际事件中收集的数据。在 CSV 文件中,文件标题之后的每一行由来自单个事件的数据元素组成。例如,在在线注册事件数据文件中,每行都包含来自单个注册的数据。行中的每个数据元素都必须与相应的事件元数据或事件变量相匹配。

下面是包含账户注册事件数据的 CSV 文件文件中数据的 CSV 文件中数据的 CSV 文件夹。标题行包含大写的事件元数据和小写的事件变量,后面是事件数据。数据集中的每一行都包含与单一账户注册相关的数据元素,每个数据元素与标题对应。

CSV file showing event metadata and variables with sample data for account registration events.

使用数据模型浏览器获取事件数据集要求

您选择创建模型的模型类型定义了对数据集的要求。Amazon Fraud Detector 使用您提供的数据集来创建和训练您的欺诈检测模型。在 Amazon Fraud Detector 开始创建您的模型之前,它会检查数据集是否符合大小、格式和其他要求。如果数据集不满足要求,则模型创建和训练将失败。您可以使用数据模型浏览器来确定用于业务用例的模型类型,并深入了解已识别模型类型的数据集要求。

数据模型浏览器

数据模型浏览器是 Amazon Fraud Detector 控制台中的一个工具,可将您的业务用例与 Amazon Fraud Detector 支持的模型类型保持一致。数据模型浏览器还提供了对亚马逊欺诈检测器创建欺诈检测模型所需的数据元素的见解。在开始准备事件数据集之前,请使用数据模型资源管理器找出 Amazon Fraud Detector 推荐给您的业务使用的模型类型,并查看创建数据集所需的必需、推荐和可选数据元素列表。

要使用数据模型浏览器,
  1. 打开AWS管理控制台并登录您的账户。导航到 Amazon Fraud Detec

  2. 在左侧导航窗格中,选择 Manifest(数据模型资源管理器

  3. 数据模型浏览器页面的业务用例下,选择要评估欺诈风险的业务用例。

  4. Amazon Fraud Detector 显示与您的业务用例相匹配的推荐型号类型。模型类型定义了 Amazon Fraud Detector 将用于训练您的欺诈检测模型的算法、丰富和转换。

    请记下推荐的模型类型。稍后在创建模型时将需要此信息。

    注意

    如果您找不到您的业务用例,请使用描述中的 “联系我们” 链接向我们提供您的业务用例的详细信息。我们将推荐用于为您的业务用例创建欺诈检测模型的模型类型。

  5. 数据模型见解窗格可让您深入了解为您的业务用例创建和训练欺诈检测模型所需的必需、推荐和可选数据元素。使用见解窗格中的信息来收集您的事件数据并创建您的数据集。

收集事件数据

收集事件数据是创建模型的重要步骤。这是因为您的模型在预测欺诈方面的性能取决于数据集的质量。当您开始收集事件数据时,请记住数据模型资源管理器为您创建数据集而提供的数据元素列表。您将需要收集所有必需(事件元数据)数据,并根据创建模型的目标决定要包括哪些推荐和可选的数据元素(事件变量)。确定要包含的每个事件变量的格式和数据集的总大小也很重要。

事件数据集质量

要为模型收集高质量数据集,我们有下列建议:

  • 收集成熟数据- 使用最新数据有助于识别最新的欺诈模式。但是,要检测欺诈用例,请让数据成熟。到期期取决于您的业务,可能需要两周到三个月不等。例如,如果您的事件包括信用卡交易,则数据的到期日可能由信用卡的退款期或调查人员做出决定所花费的时间决定。

    确保用于训练模型的数据集有足够的时间根据您的业务发展成熟。

  • 确保数据分布不会出现明显偏差- Amazon Fraud Detector 模型训练过程基于 EVENT_TIMESTAMP 对您的数据集进行采样和分区。例如,如果您的数据集包含最近 6 个月提取的欺诈事件,但仅包含最后一个月的合法事件,则数据分布被视为漂移且不稳定。不稳定的数据集可能会导致模型性能评估出现偏差。如果您发现数据分布存在明显偏差,请考虑通过收集与当前数据分布类似的数据来平衡数据集。

  • 确保数据集代表实现/测试模型的用例—— 否则,估计的性能可能会有偏差。假设您使用的是一个模型来自动拒绝所有室内申请人,但是您的模型是使用一个数据集进行训练的,该数据集包含先前已获得批准的历史数据/标签。那么,您的模型的评估可能不准确,因为评估基于的数据集,而该数据集没有来自被拒绝的申请人的陈述。

事件数据格式

作为模型训练过程的一部分,Amazon Fraud Detector 会将您的大部分数据转换为所需的格式。但是,您可以轻松使用一些标准格式来提供数据,这有助于避免以后在 Amazon Fraud Detector 验证您的数据集时出现问题。下表提供了有关提供推荐事件元数据的格式的指导。

注意

创建 CSV 文件时,请务必以大写字母输入事件元数据名称,如下所示。

元数据名称 格式 必填

EVENT_ID

如果提供,它必须满足以下要求:

  • 这对于那个活动来说是独一无二的。

  • 它代表了对您的业务有意义的信息。

  • 它遵循正则表达式模式(例如,^[0-9a-z_-]+$.)

  • 除上述要求外,我们建议您不要向 EVENT_ID 附加时间戳。这样做可能会在更新事件时导致问题。这是因为如果您这样做,则必须提供完全相同的 EVENT_ID。

取决于模型类型

事件时间戳

  • 它必须按下面的格式之一指定:

    • %yyyy-%mm-%ddt%HH: %mm: %ssz(仅限世界标准时间的 ISO 8601 标准,没有毫秒)

      示例:2019-11-30T13:01:01 Z

    • %yyyy/%mm/%dd %hh: %mm: %ss (AM/PM)

      示例:2019/11/30 1:01:01 下午,或 2019/11/30 13:01:01

    • %mm/%dd/%yyyy %hh: %mm: %ss

      示例:2019 年 11 月 30 日下午 1:01:01,2019 年 11 月 30 日 13:01:01

    • %mm/%dd/%yy %hh: %mm: %ss

      示例:11/30/19 1:01:01 下午,11/30/19 13:01:01

  • Amazon Fraud Detector 在解析事件时间戳的日期/时间戳格式时会做出以下假设:

    • 如果您使用的是 ISO 8601 标准,则它必须与前面的规范完全匹配

    • 如果您使用的是其他格式之一,则还有额外的灵活性:

      • 对于几个月和几天,您可以提供个位数或两位数。例如,2019 年 12 月 1 日是一个有效日期。

      • 如果您没有 hh: mm: ss,则无需包含 hh: mm: ss(也就是说,您可以简单地提供日期)。您也可以只提供小时和分钟的子集(例如,hh: mm)。不支持仅提供小时数。也不支持毫秒。

      • 如果您提供 AM/PM 标签,则假定时钟为 12 小时。如果没有 AM/PM 信息,则假定为 24 小时制。

      • 您可以使用 “/” 或 “-” 作为日期元素的分隔符。假定时间戳元素为 “:”。

实体_ID

  • 它必须遵循正则表达式模式:^[0-9A-Za-z_.@+-]+$.

  • 如果实体 ID 在评估时不可用,请将实体 ID 指定为未知

取决于模型类型

实体类型

你可以使用任何字符串

取决于模型类型

事件标签

您可以使用任何标签,例如 “欺诈”、“合法”、“1” 或 “0”。

如果包括 LABEL_TIMESTAMP,则为必填项

标签时间戳

它必须遵循时间戳格式。

如果包含事件标签,则为必填项

有关事件变量的信息,请参阅变量

重要

如果您正在创建 Account Takeover Insights (ATI) 模型,准备数据请参阅,了解有关准备和选择数据的详细信息。

空值或缺失值

EVENT_TIMESTAMP 和 EVENT_LABEL 变量不得包含任何空值或缺失值。其他变量的值可以为 null 或缺失值。但是,我们建议您对这些变量使用少量空值。如果 Amazon Fraud Detector 确定事件变量的空值或缺失值过多,它将自动从您的模型中省略变量。

最小变量

创建模型时,除了必需的事件元数据外,数据集还必须包含至少两个事件变量。这两个事件变量必须通过验证检查。

事件数据集大小

必填

您的数据集必须满足以下基本要求才能成功进行模型训练。

  • 来自至少 100 个事件的数据。

  • 数据集必须包含至少 50 个归类为欺诈的事件(行)。

推荐

我们建议您的数据集包含以下内容,以成功进行模型训练并获得良好的模型性能。

  • 包括至少三周的历史数据,但最多包括六个月的数据。

  • 包括至少 10K 个总事件数据。

  • 包括至少 400 个归类为欺诈的事件(行)和 400 个归类为合法的事件(行)。

  • 如果您的模型类型需要 ENTITY_ID,则包含 100 多个唯一实体。

数据集验证

在 Amazon Fraud Detector 开始创建您的模型之前,它会检查用于训练模型的数据集中包含的变量是否符合大小、格式和其他要求。如果数据集未通过验证,则不会创建模型。在创建模型之前,必须先修复未通过验证的变量。Amazon Fraud Detector 为您提供了一个数据分析器,您可以使用它来帮助您在开始训练模型之前识别和修复数据集的问题

数据分析器

Amazon Fraud Detector 提供了一种开源工具,用于分析和准备数据以进行模型训练。此自动数据分析器可帮助您避免常见的数据准备错误,并识别可能对模型性能产生负面影响的潜在问题,例如映射错误的变量类型。分析器生成数据集的直观而全面的报告,包括变量统计数据、标签分布、类别和数值分析以及变量和标签相关性。它提供了有关变量类型的指导以及将数据集转换为 Amazon Fraud Detector 要求的格式的选项。

使用数据分析器

自动数据分析器采用AWS CloudFormation堆栈构建,只需单击几下即可轻松启动该堆栈。所有代码都可以在 Github上找到。有关如何使用数据分析器的信息,请按照我们博客中的说明使用适用于 Amazon Fraud Detector 的自动数据分析器更快地训练模型

常见的事件数据集错误

以下是 Amazon Fraud Detector 在验证事件数据集时遇到的一些常见问题。运行数据分析器后,在创建模型之前,使用此列表检查数据集是否存在错误。

  • CSV 文件不是 UTF-8 格式。

  • 数据集中的事件数小于 100。

  • 被确定为欺诈或合法的事件数量少于 50。

  • 与欺诈事件相关的唯一实体数量少于 100。

  • EVENT_TIMESTAMP 中超过 0.1% 的值包含空值或支持的日期/时间戳格式以外的值。

  • EVENT_LABEL 中超过 1% 的值包含空值或事件类型中定义的值以外的值。

  • 可用于模型训练的变量少于两个。

数据集存储

在您收集数据集后,您需要使用 Amazon Fraud Detector Detector Service (Amazon S3) 在外部存储。我们建议您根据用于生成欺诈预测的模型选择数据集的存储位置。有关模型类型的更多信息,请参阅选择模型类型。有关存储数据集的更多信息,请参阅事件数据存储