バッチ予測 - Amazon Fraud Detector

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

バッチ予測

Amazon Fraud Detector のバッチ予測ジョブを使用して、リアルタイムのスコアリングを必要としない一連のイベントの予測を取得できます。例えば、バッチ予測ジョブを作成してproof-of-concept、オフラインで実行したり、イベントのリスクを遡及的に評価したりできます。

バッチ予測ジョブは、Amazon Fraud Detector コンソールを使用するか、AWS Command Line Interface (AWSCLI) または Amazon Fraud Detector SDK の 1 つを使用して CreateBatchPredictionJobAPI 操作を呼び出すことで作成できます。

バッチ予測の仕組み

-CreateBatchPredictionJobAPI オペレーションでは、指定されたディテクタバージョンを使用して、Amazon S3 バケットにある入力 CSV ファイルで指定されたデータに基づいて予測を行います。次に API は、結果の CSV ファイルを S3 バケットに返します。

バッチ予測ジョブは、GetEventPrediction オペレーションと同じようにモデルのスコアと予測結果を計算します。GetEventPrediction と同様に、バッチ予測ジョブを作成するには、まずイベントタイプを作成し、オプションでモデルをトレーニングしてから、バッチジョブのイベントを評価するディテクタバージョンを作成します。

バッチ予測ジョブによって評価されるイベントリスクスコアの料金は、GetEventPrediction API で作成されたスコアの料金と同じです。詳細については、「Amazon Fraud Detector の料金」を参照してください。

バッチ予測ジョブは、一度に 1 回のみ実行することができます。

入力および出力ファイル

入力 CSV ファイルには、選択したディテクターバージョンに関連付けられているイベントタイプに一致するヘッダーが含まれている必要があります。入力データファイルの最大サイズです。イベントの数は、イベントのサイズによって異なります。

Amazon Fraud Detector は、出力データ用に別の場所を指定しない限り、入力ファイルと同じバケットに出力ファイルを作成します。出力ファイルには、入力ファイルの元のデータと、次の追加列が含まれます。

  • MODEL_SCORES — 選択したディテクターバージョンに関連付けられている各モデルのイベントのモデルスコアの詳細を示します。

  • OUTCOMES — 選択したディテクターバージョンとそのルールによって評価されたイベントの結果の詳細を示します。

  • STATUS — イベントが正常に評価されたかどうかを示します。イベントが正常に評価されなかった場合、この列には失敗の理由コードが表示されます。

  • RULE_RESULTS — ルール実行モードに基づく、一致したすべてのルールのリスト。

バッチ予測の取得

次の手順では、既にイベントタイプを作成し、そのイベントタイプを使用してモデルをトレーニングし (オプション)、そのイベントタイプのディテクターバージョンを作成していることを前提としています。

バッチ予測を取得するには
  1. AWS Management Console にサインインし、https://console.aws.amazon.com/frauddetector で Amazon Fraud Detector を開きます。

  2. Amazon Fraud Detector コンソールの左側のナビゲーションペインで、[バッチ予測] を選択してから、[新しいバッチ予測] をクリックします。

  3. [ジョブ名] で、バッチ予測ジョブの名前を指定します。名前を指定しない場合、Amazon Fraud Detector はジョブ名をランダムに生成します。

  4. [ディテクター] で、このバッチ予測のディテクターを選択します。

  5. [ディテクターバージョン] で、このバッチ予測のディテクターバージョンを選択します。どのステータスのディテクターバージョンも選択できます。お使いのディテクターに Active ステータスのディテクターバージョンがある場合、そのバージョンが自動的に選択されますが、必要に応じてこの選択を変更することもできます。

  6. [IAM ロール] で、入力および出力の Amazon S3 バケットに対する読み取りおよび書き込みアクセス権限を持つロールを選択または作成します。詳細については、「IAM ロールに関するガイダンス」を参照してください。

    バッチ予測を取得するには、CreateBatchPredictionJobオペレーションを呼び出す IAM ロールに、入力 S3 バケットへの読み取り権限と出力 S3 バケットへの書き込み権限が必要です。バケットのアクセス権限の詳細については、Amazon S3 ユーザーガイドの「ユーザーポリシーの例」を参照してください。

  7. [入力データの場所] で、入力データの Amazon S3 の場所を指定します。出力ファイルを別の S3 バケットに含める場合は、[出力用の個別のデータの場所] を選択し、出力データの Amazon S3 の場所を指定します。

  8. (オプション) バッチ予測ジョブのタグを作成します。

  9. [Start] (開始) を選択します。

    Amazon Fraud Detector はバッチ予測ジョブを作成し、ジョブのステータスは [In progress] になります。Batch 予測ジョブの処理時間は、イベントの数とディテクターのバージョンの設定によって異なります。

進行中のバッチ予測ジョブを停止するには、バッチ予測ジョブの詳細ページに移動し、[アクション] を選択してから、[バッチ予測の停止] をクリックします。バッチ予測ジョブを停止すると、ジョブの結果が表示されません。

バッチ予測ジョブのステータスが [Complete] に変わると、指定した出力 Amazon S3 バケットからジョブの出力を取得できます。出力ファイルの名前は batch prediction job name_file creation timestamp_output.csv という形式になります。例えば、mybatchjob という名前のジョブの出力ファイルは、mybatchjob_ 1611170650_output.csv です。

バッチ予測ジョブによって評価された特定のイベントを検索するには、Amazon Fraud Detector コンソールの左側のナビゲーションペインで、[過去の予測の検索] を選択します。

完了したバッチ予測ジョブを削除するには、バッチ予測ジョブの詳細ページに移動し、[アクション] を選択してから、[バッチ予測の削除] をクリックします。

IAM ロールに関するガイダンス

バッチ予測を取得するには、CreateBatchPredictionJobオペレーションを呼び出す IAM ロールに、入力 S3 バケットへの読み取り権限と出力 S3 バケットへの書き込み権限が必要です。バケットのアクセス許可の詳細については、Amazon S3 ユーザーガイドの「ユーザーポリシーの例」を参照してください。Amazon Fraud Detector コンソールでは、以下のように、Batch 予測の IAM ロールを選択するためのオプションが 3 つあります。

  1. 新しいBatch 予測ジョブを作成するときに、ロールを作成します。

  2. Amazon Fraud Detector コンソールで以前に作成した既存の IAM ロールを選択します。この手順を実行する前に、必ずロールに S3:PutObject アクセス許可を追加してください。

  3. 以前に作成した IAM ロールのカスタム ARN を入力します。

IAM ロールに関連するエラーが表示された場合は、以下を確認します。

  1. Amazon S3 入力および出力バケットです。

  2. 使用している IAM ロールには、入力 S3 バケット用の s3:GetObject アクセス許可と出力 S3 バケット用の s3:PutObject アクセス許可があること。

  3. 使用している IAM ロールには、サービスプリンシパル frauddetector.amazonaws.com の信頼ポリシーがあること。

AWS SDK for Python (Boto3) を使用したバッチ詐欺の予測の取得

次の例は、CreateBatchPredictionJob API のサンプルリクエストを示しています。バッチ予測ジョブには、ディテクター、ディテクターバージョン、およびイベントタイプ名の既存のリソースを含める必要があります。次の例では、イベントタイプ sample_registration、ディテクター sample_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-**' )