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

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

バッチインポートを使用したイベントデータの保存

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

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

入力 CSV ファイルには、関連するイベントタイプで定義されている変数と 4 つの必須変数と一致するヘッダーが含まれている必要があります。詳細については、「ストレージ用のイベントデータの準備」を参照してください。入力データファイルの最大サイズは 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 にサインインし、Amazon S3 コンソール https://console.aws.amazon.com/s3/ を開きます。

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

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

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

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

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

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

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

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

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

    重要

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

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

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

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

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

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

Amazon Fraud Detector コンソールでイベントデータをBatch インポートする

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. [Start] (開始) を選択します。

  9. [イベントデータのインポート] ペインの [ステータス] 列には、検証とインポートジョブのステータスが表示されます。上部のバナーには、データセットが最初に検証され、次にインポートが行われるときのステータスの大まかな説明が表示されます。

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

データセットの検証とインポートジョブの進行状況を監視する

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

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

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

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

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

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

注記

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

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

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

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

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

検証レポートを使用する

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

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

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

  • 重大なエラー

    SDV によって特定されたデータセットで最も影響の大きい問題の詳細が表示されます。このペインに表示されている問題はすべて重大であり、インポートを続行する前に解決する必要があります。重大な問題を解決せずにデータセットをインポートしようとすると、インポートジョブが失敗する可能性があります。

    重大な問題に対処するには、各警告に記載されている推奨事項に従ってください。重大なエラーペインに表示されているすべての問題を解決したら、新しいバッチインポートジョブを作成します。

  • データレベルの警告

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

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

    注記

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

  • データセットの概要

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

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

次の例は、CreateBatchImportJob API のサンプルリクエストを示しています。バッチインポートジョブには、JobIDInputPathOutputPatheventTypeNameおよびが含まれている必要がありますiamRoleArn。ジョブが 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' )