批量预测 - Amazon Fraud Detector

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

批量预测

您可以在 Amazon Fraud Detector 中使用批量预测作业来预测一组不需要实时评分的事件。例如,您可以创建一个批量预测任务来执行离线任务 proof-of-concept,或者每小时、每天或每周对事件风险进行回顾性评估。

您可以使用 Amazon Fraud Detector 控制台创建批量预测任务,也可以使用 AWS 命令行界面 (AWS CLI) 或其中一个亚马逊欺诈检测器调用 CreateBatchPredictionJobAPI 操作 SDKs。

批量预测的工作原理

CreateBatchPredictionJobAPI 操作使用指定的检测器版本,根据位于 Amazon S3 存储桶中的输入 CSV 文件中提供的数据进行预测。然后,API 会将生成的 CSV 文件返回到 S3 存储桶。

Batch 预测作业以与GetEventPrediction操作相同的方式计算模型分数和预测结果。与创建批量预测作业类似,首先要创建事件类型,也可以训练模型,然后创建一个检测器版本来评估批处理作业中的事件。GetEventPrediction

批量预测作业评估的事件风险评分的定价与 GetEventPrediction API 创建的分数的定价相同。有关详情,请参阅 Amazon Fraud Detector 定价

一次只能运行一个批量预测作业。

输入和输出文件

输入 CSV 文件应包含与所选检测器版本关联的事件类型相匹配的标头。输入数据文件的最大大小为 1GB。活动数量将因您的活动规模而异。

除非您为输出数据指定单独的位置,否则 Amazon Fraud Detector 会在与输入文件相同的存储桶中创建输出文件。输出文件包含来自输入文件的原始数据和以下附加列:

  • MODEL_SCORES— 详细说明与所选探测器版本关联的每个模型中事件的模型分数。

  • OUTCOMES— 详细说明所选探测器版本及其规则所评估的事件结果。

  • STATUS— 表示是否成功评估了事件。如果未成功评估事件,则此列显示失败的原因代码。

  • RULE_RESULTS— 基于规则执行模式的所有匹配规则的列表。

获取批量预测

以下步骤假设您已经创建了事件类型,使用该事件类型训练了模型(可选),并为该事件类型创建了检测器版本。

获取批量预测
  1. 登录 AWS Management Console 并打开 Amazon Fraud Detector 控制台,网址为 https://console.aws.amazon.com/fra uddetector。

  2. 在 Amazon Fraud Detector 控制台的左侧导航窗格中,选择 “批量预测”,然后选择 “新建批量预测”。

  3. Job 名称中,为您的批量预测作业指定一个名称。如果您不指定名称,Amazon Fraud Detector 会随机生成一个任务名称。

  4. 在 D etec tor 中,为该批量预测选择检测器。

  5. 探测器版本中,为该批量预测选择检测器版本。您可以选择任何状态的探测器版本。如果您的探测器的探测器版本处于Active状态,则会自动选择该版本,但您也可以根据需要更改此选择。

  6. IAM 角色中,选择或创建对您的输入和输出 Amazon S3 存储桶具有读写权限的角色。请参阅有关 IAM 角色的指南了解更多信息。

    要获得批量预测,调用该CreateBatchPredictionJob操作的 IAM 角色必须具有对输入 S3 存储桶的读取权限和对输出 S3 存储桶的写入权限。有关存储桶权限的更多信息,请参阅 Amazon S3 用户指南中的用户策略示例

  7. 输入数据位置中,指定输入数据的 Amazon S3 位置。如果您想将输出文件放在不同的 S3 存储桶中,请选择单独的数据位置进行输出,然后为您的输出数据提供 Amazon S3 位置。

  8. (可选)为您的批量预测作业创建标签。

  9. 选择启动

    Amazon Fraud Detector 会创建批量预测作业,该任务的状态为In progress。Batch 预测任务的处理时间因事件数量和检测器版本配置而异。

要停止正在进行的批量预测作业,请转到批量预测作业详细信息页面,选择操作,然后选择停止批量预测。如果您停止批量预测作业,则不会收到该作业的任何结果。

当批量预测任务的状态更改为时Complete,您可以从指定的输出 Amazon S3 存储桶中检索任务的输出。输出文件的名称采用以下格式batch prediction job name_file creation timestamp_output.csv。例如,名为的作业的输出文件mybatchjobmybatchjob_ 1611170650_output.csv

要搜索由批量预测任务评估的特定事件,请在 Amazon Fraud Detector 控制台的左侧导航窗格中,选择搜索过去的预测

要删除已完成的批量预测作业,请转到批量预测作业详细信息页面,选择操作,然后选择删除批量预测

有关 IAM 角色的指南

要获得批量预测,调用该CreateBatchPredictionJob操作的 IAM 角色必须具有对输入 S3 存储桶的读取权限和对输出 S3 存储桶的写入权限。有关存储桶权限的更多信息,请参阅 Amazon S3 用户指南中的用户策略示例。在 Amazon Fraud Detector 控制台上,您可以通过三个选项为批量预测选择 IAM 角色:

  1. 在创建新的 Batch Prediction 作业时创建角色。

  2. 选择您之前在 Amazon Fraud Detector 控制台中创建的现有 IAM 角色。在执行此步骤之前,请务必为该角色添加S3:PutObject权限。

  3. 为之前创建的 IAM 角色输入自定义 ARN。

如果您收到与您的 IAM 角色相关的错误,请验证以下内容:

  1. 您的 Amazon S3 输入和输出存储桶与您的探测器位于同一区域。

  2. 您正在使用的 IAM 角色拥有您的输入 S3 存储桶的s3:PutObject权限和对输出 S3 存储桶的权限。s3:GetObject

  3. 您正在使用的 IAM 角色具有服务委托人的信任策略frauddetector.amazonaws.com

使用获取批量欺诈预测 适用于 Python (Boto3) 的 AWS SDK

以下示例显示了 CreateBatchPredictionJobAPI 的示例请求。批量预测作业必须包含以下现有资源:检测器、检测器版本和事件类型名称。以下示例假设您已经创建了事件类型sample_registrationsample_detector、检测器和检测器版本1

import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.create_batch_prediction_job ( jobId = 'sample_batch', inputPath = 's3://bucket_name/input_file_name.csv', outputPath = 's3://bucket_name/', eventTypeName = 'sample_registration', detectorName = 'sample_detector', detectorVersion = '1', iamRoleArn = 'arn:aws:iam::**:role/service-role/AmazonFraudDetector-DataAccessRole-**' )