バッチインポートを使用してイベントデータを保存する - Amazon Fraud Detector

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

バッチインポートを使用してイベントデータを保存する

バッチインポート機能を使用すると、コンソール、API、または AWS SDK を使用して、大規模な履歴イベントデータセットを Amazon Fraud Detector にすばやく簡単にアップロードできます。バッチインポートを使用するには、すべてのイベントデータを含む CSV 形式の入力ファイルを作成し、CSV ファイルを Amazon S3 バケットにアップロードして、インポートジョブを開始します。Amazon Fraud Detector は、まずイベントタイプに基づいてデータを検証し、データセット全体を自動的にインポートします。データがインポートされると、新しいモデルのトレーニングや既存のモデルの再トレーニングに使用する準備が整います。

入力ファイルと出力ファイル

入力 CSV ファイルには、関連するイベントタイプで定義されている変数と 4 つの必須変数と一致するヘッダーが含まれている必要があります。詳細については「ストレージ用のイベントデータを準備する」を参照してください。入力データファイルの最大サイズは 20 GB (20 GB)、つまり約 5,000 万イベントです。イベントの数は、イベントのサイズによって異なります。インポートジョブが成功した場合、出力ファイルは空になります。インポートが失敗した場合、出力ファイルにエラーログが含まれます。

CSV ファイルの作成

Amazon Fraud Detector は、カンマ区切り値 (CSV) 形式のファイルからのみデータをインポートします。CSV ファイルの最初の行には、関連するイベントタイプで定義された変数と、EVENT_ID、EVENT_TIMESTAMP、ENTITY_ID、および ENTITY_TYPE という 4 つの必須変数と完全に一致する列ヘッダーが含まれている必要があります。必要に応じて EVENT_LABEL と LABEL_TIMESTAMP を含めることもできます (EVENT_LABEL が含まれている場合は LABEL_TIMESTAMP が必要です)。

必須変数の定義

必須変数はイベントのメタデータと見なされ、大文字で指定する必要があります。イベントメタデータは、モデルトレーニングに自動的に含まれます。次の表に、必須変数、各変数の説明、および変数に必要な形式を示します。

名前 説明 要件

EVENT_ID

イベントの識別子。例えば、イベントがオンライントランザクションの場合、EVENT_ID は顧客に提供されたトランザクション参照番号になります。

  • EVENT_ID は、バッチインポートジョブに必要です。

  • そのイベントで一意である必要があります

  • ビジネスにとって有意義な情報を表す必要があります。

  • 正規表現パターンに従う必要があります (例えば、^[0-9a-z_-]+$.)

  • EVENT_ID にタイムスタンプを追加することはお勧めしません。追加すると、イベントを更新するときに問題が発生する可能性があります。これは、追加する場合、まったく同じ EVENT_ID を指定する必要があるためです。

EVENT_TIMESTAMP

イベントが発生したときのタイムスタンプ。タイムスタンプは UTC の ISO 8601 標準である必要があります。

  • EVENT_ID は、バッチインポートジョブに必須です。

  • 次のいずれかの形式で有効な値を指定する必要があります。

    • %yyyy-%mm-%ddT%hh:%mm:%ssZ (ミリ秒なし、UTC のみの ISO 8601標準)

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

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

      例: 2019/11/30 1:01:01 PM、または 2019/11/30 13:01:01

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

      例: 11/30/2019 1:01:01 PM、または 11/30/2019 13:01:01

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

      例: 11/30/19 1:01:01 PM、または 11/30/19 13:01:01

  • Amazon Fraud Detector は、イベントタイムスタンプの日付/タイムスタンプ形式を解析するときに、次の仮定を行います。

    • ISO 8601 標準を使用する場合は、前述の仕様と完全に一致する必要があります。

    • 他の形式のいずれかを使用している場合は、さらに柔軟性があります。

      • 月および日には、1 桁または 2 桁の数字を指定できます。例えば、2019 年 1 月 12 日は有効な日付です。

      • hh:mm:ss を持っていない場合は、含める必要はありません (つまり、日付を指定するだけです)。時と分だけのサブセット (例えば、hh:mm) を指定することもできます。時のみの指定はサポートされていません。ミリ秒もサポートされていません。

      • AM/PM ラベルを指定した場合は、12 時間時計と見なされます。AM/PM 情報がない場合は、24 時間時計と見なされます。

      • 日付要素の区切り文字として「/」または「-」を使用できます。タイムスタンプ要素には「:」が想定されます。

ENTITY_ID

イベントを実行するエンティティの識別子。

  • ENTITY_ID は、バッチインポートジョブに必要です。

  • 正規表現のパターンを満たす必要があります: ^[0-9A-Za-z_.@+-]+$

  • 評価時にエンティティ ID が使用できない場合は、エンティティ ID を unknown として指定します。

ENTITY_TYPE

マーチャントや顧客など、イベントを実行するエンティティ。

ENTITY_ID は、バッチインポートジョブに必要です。

EVENT_LABEL

イベントを fraudulent または legitimate として分類します。

LABEL_TIMESTAMP が含まれている場合は EVENT_LABEL が必要です

LABEL_TIMESTAMP

イベントラベルが最後に入力または更新されたときのタイムスタンプ

  • EVENT_LABEL が含まれている場合は LABEL_TIMESTAMP が必要です。

  • タイムスタンプ形式に従う必要があります。

バッチインポートのために CSV ファイルを Amazon S3 にアップロードする

データで CSV ファイルを作成したら、このファイルを Amazon Simple Storage Service (Amazon S3) バケットにアップロードします。

Amazon S3 バケットにイベントデータをアップロードするには
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/s3/ で Amazon S3 コンソールを開きます。

  2. バケットの作成 を選択します。

    [バケットの作成] ウィザードが開きます。

  3. [バケット名] に、バケットの DNS に準拠する名前を入力します。

    バケット名には次の条件があります。

    • すべての Amazon S3 で一意にする。

    • 3~63 文字で指定する。

    • 大文字を含めないでください。

    • 先頭の文字には小文字の英文字または数字を使用する。

    バケットを作成したら、その名前を変更することはできません。バケットの名前付けの詳細については、Amazon Simple Storage Service ユーザーガイドの「バケットの名前付けルール」を参照してください。

    重要

    バケット名にアカウント番号などの機密情報を含めないでください。バケット名は、バケット内のオブジェクトを参照する URL に表示されます。

  4. リージョンで、バケットを配置する AWS リージョンを選択します。Amazon Fraud Detector を使用しているリージョンと同じリージョンを選択する必要があります。これは、米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (オレゴン)、欧州 (アイルランド)、アジアパシフィック (シンガポール)、またはアジアパシフィック (シドニー) のいずれかです。

  5. [バケットのパブリックアクセスブロック設定] で、バケットに適用するパブリックアクセスブロック設定を選択します。

    設定はすべて有効のままにしておくことをお勧めします。パブリックアクセスのブロックの詳細については、Amazon Simple Storage Service ユーザーガイドの「Amazon S3 ストレージへのパブリックアクセスのブロック」を参照してください。

  6. [バケットを作成] を選択します。

  7. トレーニングデータファイルを Amazon S3 バケットにアップロードします。トレーニングファイルの Amazon S3 の場所 (例: s3://bucketname/object.csv) を書き留めます。

Amazon Fraud Detector コンソールでのイベントデータのバッチインポート

CreateBatchImportJob API または AWS SDK を使用して、Amazon Fraud Detector コンソールで多数のイベントデータセットを簡単にインポートできます。先に進む前に、データセットを CSV ファイルとして準備する手順に従ってください。CSV ファイルも Amazon S3 バケットにアップロードしていることを確認します。

Amazon Fraud Detector コンソールの使用

コンソールでイベントデータをバッチインポートするには
  1. AWS コンソールを開いてアカウントにサインインし、Amazon Fraud Detector に移動します。

  2. 左側のナビゲーションペインで [イベント] を選択します。

  3. イベントタイプを選択します。

  4. [保存されたイベント] タブを選択します。

  5. [保存されたイベントの詳細] ペインで、[イベントの取り込み] が ON になっていることを確認します。

  6. [イベントデータのインポート] ペインで [新規インポート] を選択します。

  7. [新しいイベントのインポート] ページで、次の情報を指定します。

    • 〔推奨] このデータセットのスマートデータ検証を有効にする - 新しいセットをデフォルト設定のままにします。

    • [データの IAM ロール] で、インポートする予定の CSV ファイルを保持する Amazon S3 バケット用に作成した IAM ロールを選択します。

    • [入力データの場所] では、CSV ファイルがある S3 の場所を入力します。

    • インポート結果を保存するのに別の場所を指定する場合は、[入力と結果の個別のデータ位置] ボタンをクリックし、有効な Amazon S3 バケットの場所を指定します。

    重要

    選択した IAM ロールに、入力 Amazon S3 バケットへの読み取りアクセス許可と、出力 Amazon S3 バケットへの書き込みアクセス許可があることを確認します。

  8. [開始] を選択します。

  9. イベントデータをインポートするペインのステータス列には、検証ジョブとインポートジョブのステータスが表示されます。上部のバナーには、データセットが最初に検証を経てからインポートされるときのステータスの概要が表示されます。

  10. 「」に記載されているガイダンスに従ってくださいデータセットの検証とインポートジョブの進行状況をモニタリングする

データセットの検証とインポートジョブの進行状況をモニタリングする

Amazon Fraud Detector コンソールを使用してバッチインポートジョブを実行している場合、デフォルトでは、Amazon Fraud Detector はインポート前にデータセットを検証します。Amazon Fraud Detector コンソールの新しいイベントインポートページで、検証ジョブとインポートジョブの進行状況とステータスをモニタリングできます。ページ上部のバナーには、検証結果とインポートジョブのステータスの簡単な説明が表示されます。検証結果とインポートジョブのステータスによっては、データセットの検証とインポートを成功させるためのアクションを実行する必要がある場合があります。

次の表は、検証およびインポートオペレーションの結果に応じて実行する必要があるアクションの詳細を示しています。

バナーメッセージ ステータス 意味 実行すべきこと
データ検証が開始されました 検証中 SDV がデータセットの検証を開始しました ステータスが変更されるまで待機する
データセットのエラーのため、データ検証を続行できません。データファイルのエラーを修正し、新しいインポートジョブを開始します。詳細については、検証レポートを参照してください。 検証に失敗しました SDV は、データファイルの問題を特定しました。これらの問題は、データセットのインポートを成功させるために対処する必要があります。 イベントデータをインポートペインで、ジョブ ID を選択し、検証レポートを表示します。レポートの推奨事項に従って、リストされているすべてのエラーに対処します。詳細については、「検証レポートの使用」を参照してください。
データインポートが開始されました。検証が正常に完了しました インポート中 データセットが検証に合格しました。AFD がデータセットのインポートを開始しました ステータスが変更されるまで待機する
検証が完了し、警告が表示されました。データインポートが開始されました インポート中 データセット内の一部のデータの検証に失敗しました。ただし、検証に合格したデータは、インポートの最小データサイズ要件を満たしています。 バナーのメッセージをモニタリングし、ステータスが変更されるまで待機する
データの一部がインポートされました。データの一部が検証に失敗し、インポートされませんでした。詳細については、「 検証レポート」を参照してください。 インポートされました。ステータスには警告アイコンが表示されます。 検証に失敗したデータファイル内のデータの一部はインポートされませんでした。検証に合格した残りのデータがインポートされました。 イベントデータをインポートペインで、ジョブ ID を選択し、検証レポートを表示します。データレベルの警告の推奨事項に従って、リストされている警告に対処します。すべての警告に対処する必要はありません。ただし、データセットにインポートを成功させるための検証に合格するデータが 50% 以上あることを確認してください。警告に対処したら、新しいインポートジョブを開始します。詳細については、「検証レポートの使用」を参照してください。
処理エラーのため、データのインポートに失敗しました。新しいデータインポートジョブを開始する インポート失敗 一時的なランタイムエラーによりインポートが失敗しました 新しいインポートジョブを開始する
データは正常にインポートされました インポート済み 検証とインポートの両方が正常に完了しました インポートジョブのジョブ ID を選択して詳細を表示し、モデルトレーニングに進みます。
注記

データセットが Amazon Fraud Detector に正常にインポートされてから 10 分待って、システムによって完全に取り込まれていることを確認することをお勧めします。

スマートデータ検証レポート

スマートデータ検証は、検証が完了した後に検証レポートを作成します。検証レポートには、SDV がデータセット内で特定したすべての問題の詳細と、最も影響の大きい問題を修正するための推奨アクションが表示されます。検証レポートを使用して、問題の内容、データセット内の問題の場所、問題の重要度、および問題の修正方法を確認できます。検証レポートは、検証が正常に完了した場合でも作成されます。この場合、レポートを表示して、問題がリストされているかどうかを確認し、問題がある場合は、それらを修正するかどうかを決定できます。

注記

現在のバージョンの SDV では、データセットをスキャンして、バッチのインポートが失敗する原因となる問題がないか確認します。検証とバッチインポートが成功しても、データセットにモデルトレーニングが失敗する原因となる問題が発生する可能性があります。検証とインポートが成功した場合でも検証レポートを表示し、モデルトレーニングを成功させるためにレポートに記載されている問題に対処することをお勧めします。問題に対処したら、新しいバッチインポートジョブを作成します。

検証レポートへのアクセス

次のいずれかのオプションを使用して、検証完了後いつでも検証レポートにアクセスできます。

  1. 検証が完了し、インポートジョブの進行中に、上部のバナーで検証レポートの表示を選択します。

  2. インポートジョブが完了したら、イベントデータをインポートペインで、完了したインポートジョブのジョブ ID を選択します。

検証レポートの使用

インポートジョブの検証レポートページには、このインポートジョブの詳細、見つかった場合は重大なエラーのリスト、見つかった場合はデータセット内の特定のイベント (行) に関する警告のリスト、無効な値や各変数の欠落値などの情報を含むデータセットの簡単な概要が表示されます。

  • インポートジョブの詳細

    インポートジョブの詳細を提供します。インポートジョブが失敗したか、データセットが部分的にインポートされた場合は、結果ファイルに移動を選択して、インポートに失敗したイベントのエラーログを表示します。

  • 重大なエラー

    SDV によって識別されるデータセット内の最も影響の大きい問題の詳細を提供します。このペインにリストされているすべての問題は重要であり、インポートを続行する前に対処する必要があります。重大な問題に対処せずにデータセットをインポートしようとすると、インポートジョブが失敗する可能性があります。

    重大な問題に対処するには、警告ごとに提供される推奨事項に従ってください。重大なエラーペインにリストされているすべての問題に対処したら、新しいバッチインポートジョブを作成します。

  • データレベルの警告

    データセット内の特定のイベント (行) の警告の概要を提供します。データレベルの警告ペインが入力されている場合、データセットの一部のイベントが検証に失敗し、インポートされませんでした。

    警告ごとに、説明列には問題のあるイベントの数が表示されます。また、サンプルイベント IDs は、問題のある残りのイベントを見つけるための出発点として使用できるサンプルイベント IDs の一部のリストを提供します。警告に記載されている推奨事項を使用して問題を解決します。また、問題に関する追加情報については、出力ファイルのエラーログを使用します。エラーログは、バッチインポートに失敗したすべてのイベントに対して生成されます。エラーログにアクセスするには、ジョブの詳細のインポートペインで、結果ファイルに移動を選択します。

    注記

    データセット内のイベント (行) の 50% 以上が検証に失敗した場合、インポートジョブも失敗します。この場合、新しいインポートジョブを開始する前にデータを修正する必要があります。

  • データセットの概要

    データセットの検証レポートの概要を提供します。警告数列に 0 個を超える警告が表示されている場合は、それらの警告を修正する必要があるかどうかを判断します。警告数列に 0 と表示されている場合は、モデルのトレーニングを続行します。

AWS SDK for Python (Boto3) を使用したバッチインポートイベントデータ

次の例は、CreateBatchImportJob API のサンプルリクエストを示しています。バッチインポートジョブには、jobIdinputPathoutputPatheventTypeNameiamRoleArn が含まれている必要があります。ジョブが CREATE_FAILED 状態でない限り、JobID に過去のジョブの同じ ID を含めることはできません。inputPath と outputPath は有効な S3 パスでなければなりません。OutputPath でファイル名の指定をオプトアウトできますが、有効な S3 バケットの場所を指定する必要があります。eventTypeName と iamRoLeArn が存在する必要があります。IAM ロールは、Amazon S3 バケットを入力するための読み取りアクセス許可と、Amazon S3 バケットを出力するための書き込みアクセス許可を付与する必要があります。

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

バッチインポートジョブをキャンセルする

進行中のバッチインポートジョブは、CancelBatchImportJob API または AWS SDK を使用して、Amazon Fraud Detector コンソールで、いつでもキャンセルできます。

コンソールでバッチインポートジョブをキャンセルするには、
  1. AWS コンソールを開いてアカウントにサインインし、Amazon Fraud Detector に移動します。

  2. 左側のナビゲーションペインで [イベント] を選択します。

  3. イベントタイプを選択します。

  4. [保存されたイベント] タブを選択します。

  5. [イベントデータのインポート] ペインで、キャンセルする進行中のインポートジョブのジョブ ID を選択します。

  6. [イベントジョブ] ページで、[アクション] を選択し、[イベントのインポートのキャンセル] をクリックします。

  7. [イベントのインポートの停止] をクリックして、バッチインポートジョブをキャンセルします。

AWS SDK for Python (Boto3) を使用したバッチインポートジョブのキャンセル

次の例は、CancelBatchImportJob API のサンプルリクエストを示しています。インポートのキャンセルジョブには、進行中のバッチインポートジョブのジョブ ID を含める必要があります。

import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.cancel_batch_import_job ( jobId = 'sample_batch' )