

Amazon Fraud Detector は、2025 年 11 月 7 日をもって新規顧客に公開されなくなりました。Amazon Fraud Detector と同様の機能については、Amazon SageMaker、AutoGluon、および を参照してください AWS WAF。

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

# Amazon Fraud Detector の使用を開始する
<a name="get-started"></a>

開始する前に、「」のステップを読み[Amazon Fraud Detector による不正の検出](frauddetector-workflow.md)、完了していることを確認してください[Amazon Fraud Detector のセットアップ](set-up.md)。

このセクションの実践的なチュートリアルを使用して、Amazon Fraud Detector を使用して不正検出モデルを構築、トレーニング、デプロイする方法について説明します。このチュートリアルでは、機械学習モデルを使用して、新しいアカウント登録が不正であるかどうかを予測する不正アナリストのロールを引き受けます。モデルは、アカウント登録のデータを使用してトレーニングする必要があります。Amazon Fraud Detector は、このチュートリアルのアカウント登録データセットの例を提供します。チュートリアルを開始する前に、サンプルデータセットをアップロードする必要があります。

Amazon Fraud Detector の使用を開始するには、次のいずれかのインターフェイスを使用します。チュートリアルを開始する前に、以下の手順に従ってください。 [サンプルデータセットを取得してアップロードする](step-1-get-s3-data.md)
+ [チュートリアル: Amazon Fraud Detector コンソールの使用を開始する](get-started-console.md)
+ [チュートリアル: の使用を開始する AWS SDK for Python (Boto3)](getting-started-python.md)

# サンプルデータセットを取得してアップロードする
<a name="step-1-get-s3-data"></a>

このチュートリアルで使用するサンプルデータセットは、オンラインアカウント登録の詳細を提供します。データセットは、UTF-8 形式のカンマ区切り値 (CSV) を使用するテキストファイルにあります。CSV データセットファイルの最初の行には、 ヘッダーが含まれています。ヘッダー行の後に複数のデータ行が続きます。これらの各行は、1 つのアカウント登録のデータ要素で構成されます。データは便利なようにラベル付けされています。データセットの列は、アカウント登録が不正であるかどうかを識別します。

**サンプルデータセットを取得してアップロードするには**

1. [サンプル](https://github.com/aws-samples/aws-fraud-detector-samples/tree/master/data)に移動します。

    オンラインアカウント登録データを持つデータファイルには、*register\$1data\$120K\$1minimum.csv* と *registration\$1data\$120K\$1full.csv の 2* つがあります。ファイル`registration_data_20K_minimum`には、*ip\$1address* と *email\$1address *の 2 つの変数のみが含まれます。ファイルには他の変数`registration_data_20K_full`が含まれています。これらの変数はイベントごとに使用され、*billing\$1address*、*phone\$1number*、*user\$1agent* が含まれます。どちらのデータファイルにも 2 つの必須フィールドが含まれています。
   + EVENT\$1TIMESTAMP — いつイベントが発生したかを定義します
   + EVENT\$1LABEL - イベントを不正または正当として分類します

   このチュートリアルでは、2 つのファイルのいずれかを使用できます。使用するデータファイルをダウンロードします。

1.  Amazon Simple Storage Service (Amazon S3) バケットを作成します。

   このステップでは、データセットを保存する外部ストレージを作成します。この外部ストレージは Amazon S3 バケットです。Amazon S3 の詳細については、[Amazon S3とは」を参照してください。](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)

   1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) で Amazon S3 コンソールを開きます。

   1. **[Buckets]** (バケット) で、**[Create bucket]** (バケットの作成) を選択します。

   1. [**バケット名**] に、バケットの名前を入力します。コンソールでバケットの命名規則に従い、グローバルに一意の名前を指定してください。バケットの目的を説明する名前を使用することをお勧めします。

   1. で**AWS リージョン**、バケットを作成する AWS リージョン を選択します。選択したリージョンは Amazon Fraud Detector をサポートしている必要があります。レイテンシーを減らすには、地理的な場所に最も AWS リージョン 近い を選択します。Amazon Fraud Detector をサポートするリージョンのリストについては、 *グローバルインフラストラクチャガイド*の[リージョン表](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)を参照してください。

   1. このチュートリアルでは、**オブジェクト所有権**、**パブリックアクセスブロックのバケット設定**、**バケットバージョニング**、**タグのデフォルト設定のまま**にします。

   1. **デフォルトの暗号化**では、このチュートリアルで **Disable** を選択します。

   1. バケット設定を確認し、**バケットの作成**を選択します。

1. Amazon S3 バケットにサンプルデータファイルをアップロードします。

   バケットを作成したら、先ほどダウンロードしたサンプルファイルの 1 つを、先ほど作成した Amazon S3 バケットにアップロードします。

   1. **バケット**には、バケット名が一覧表示されます。バケットを選択します。

   1. **アップロード** を選択します。

   1. **[Files and folders]** (ファイルとフォルダ) で、**[Add files]** (ファイルを追加) を選択します。

   1. コンピュータにダウンロードしたサンプルデータファイルの 1 つを選択し、**Open** を選択します。

   1. **送信先**、**アクセス許可**、**プロパティ**のデフォルト設定のままにします。

   1. 設定を確認し、**アップロード**を選択します。

   1. サンプルデータファイルは Amazon S3 バケットにアップロードされます。バケットの場所を書き留めます。**オブジェクト**で、アップロードしたサンプルデータファイルを選択します。

   1. **オブジェクトの概要**で、**S3 URI **の下に場所をコピーします。これは、サンプルデータファイルの Amazon S3 の場所です。後で使用します。さらに、S3 バケットの **Amazon リソースネーム (ARN)** をコピーして保存することもできます。

# チュートリアル: Amazon Fraud Detector コンソールの使用を開始する
<a name="get-started-console"></a>

このチュートリアルは 2 つの部分で構成されています。最初のパートでは、不正検出モデルを構築、トレーニング、デプロイする方法について説明します。2 番目のパートでは、モデルを使用してリアルタイムで不正予測を生成する方法について説明します。モデルは、S3 バケットにアップロードしたサンプルデータファイルを使用してトレーニングされます。このチュートリアルの最後に、次のアクションを実行します。
+ Amazon Fraud Detector モデルの構築とトレーニング
+ リアルタイムの不正予測を生成する

**重要**  
続行する前に、「」の指示に従っていることを確認してください。 [サンプルデータセットを取得してアップロードする](step-1-get-s3-data.md)

# パート A: Amazon Fraud Detector モデルの構築、トレーニング、デプロイ
<a name="part-a"></a>

パート A では、ビジネスユースケースの定義、イベントの定義、モデルの構築、モデルのトレーニング、モデルのパフォーマンスの評価、モデルのデプロイを行います。

## ステップ 1: ビジネスユースケースを選択する
<a name="choose-business-use-case"></a>
+ このステップでは、**データモデルエクスプローラー**を使用して、ビジネスユースケースを Amazon Fraud Detector でサポートされている不正検出モデルタイプと一致させます。データモデルエクスプローラーは、Amazon Fraud Detector コンソールと統合されたツールで、ビジネスユースケースの不正検出モデルの作成とトレーニングに使用するモデルタイプを推奨します。データモデルエクスプローラーは、データセットに含める必要がある必須、推奨、およびオプションのデータ要素に関するインサイトも提供します。データセットは、不正検出モデルの作成とトレーニングに使用されます。

  このチュートリアルでは、ビジネスユースケースは新しいアカウント登録です。ビジネスユースケースを指定すると、データモデルエクスプローラーは不正検出モデルを作成するためのモデルタイプを推奨し、データセットの作成に必要なデータ要素のリストも提供します。新しいアカウント登録のデータを含むサンプルデータセットを既にアップロードしているため、新しいデータセットを作成する必要はありません。

  1. [AWS マネジメントコンソール](https://console.aws.amazon.com/)を開き、アカウントにサインインします。Amazon Fraud Detector に移動します。

  1. 左側のナビゲーションペインで、**データモデルエクスプローラー**を選択します。

  1. **「データモデルエクスプローラー**」ページの**「ビジネスユースケース**」で、**「新規アカウントの不正**」を選択します。

  1. Amazon Fraud Detector は、選択したビジネスユースケースの不正検出モデルを作成するために使用する推奨モデルタイプを表示します。モデルタイプは、Amazon Fraud Detector が不正検出モデルのトレーニングに使用するアルゴリズム、エンリッチメント、変換を定義します。

     推奨されるモデルタイプを書き留めます。これは、後でモデルを作成するときに必要になります。

  1. **データモデルインサイト**ペインは、不正検出モデルの作成とトレーニングに必要な必須データ要素と推奨データ要素に関するインサイトを提供します。

     ダウンロードしたサンプルデータセットを確認し、必須データ要素と推奨データ要素がすべてテーブルにリストされていることを確認します。

     後で特定のビジネスユースケースのモデルを作成するときに、提供されたインサイトを使用してデータセットを作成します。

## ステップ 2: イベントタイプを作成する
<a name="define-event"></a>
+ このステップでは、不正を評価するビジネスアクティビティ (イベント) を定義します。イベントを定義するには、データセット内の変数、イベントを開始するエンティティ、イベントを分類するラベルを設定します。このチュートリアルでは、アカウント登録イベントを定義します。

  1. [AWS マネジメントコンソール](https://console.aws.amazon.com/)を開き、アカウントにサインインします。Amazon Fraud Detector に移動します。

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

  1. **イベントタイプ**ページで、**作成**を選択します。

  1. **イベントタイプの詳細**で、イベントタイプ名`sample_registration`として を入力し、オプションでイベントの説明を入力します。

  1. Entity で****、**Create entity** を選択します。

  1. **エンティティの作成**ページで、エンティティタイプ名`sample_customer`として を入力します。必要に応じて、エンティティタイプの説明を入力します。

  1. [**エンティティの作成**] を選択します。

  1. **「イベント変数****」の「このイベントの変数を定義する方法を選択する**」で、**「トレーニングデータセットから変数を選択する**」を選択します。

  1. **IAM ロール** で、**IAM ロールの作成** を選択します。

  1. **「IAM ロールの作成**」ページで、サンプルデータをアップロードした S3 バケットの名前を入力し、**「ロールの作成**」を選択します。

  1. **データの場所**で、サンプルデータへのパスを入力します。これは、サンプルデータをアップロードした後に保存した`S3 URI`パスです。パスは に似ています`S3://your-bucket-name/example dataset filename.csv`。

  1. **アップロード** を選択します。

     Amazon Fraud Detector は、サンプルデータファイルからヘッダーを抽出し、変数タイプにマッピングします。マッピングはコンソールに表示されます。

  1. **ラベル - オプション****で、ラベル** で新しい**ラベルを作成する** を選択します。

  1. **ラベルの作成**ページで、名前`fraud`として を入力します。このラベルは、サンプルデータセットの不正なアカウント登録を表す値に対応します。

  1. [**ラベルの作成**] を選択します。

  1. 2 番目のラベルを作成し、名前`legit`として を入力します。このラベルは、サンプルデータセットの正当なアカウント登録を表す値に対応します。

  1. [**イベントタイプの作成**] を選択します。

## ステップ 3: モデルを作成する
<a name="step-3-create-new-ml-model"></a>

1. **「モデル**」ページで**「モデルの追加**」を選択し、**「モデルの作成**」を選択します。

1. **ステップ 1 – モデルの詳細を定義する**には、モデル名`sample_fraud_detection_model`として を入力します。必要に応じて、モデルの説明を追加します。

1. [**モデルタイプ**] では、**オンライン不正インサイト**モデルを選択します。

1. **イベントタイプ**で sample**\$1registration** を選択します。これは、ステップ 1 で作成したイベントタイプです。

1. **履歴イベントデータ**では、

   1. **イベントデータソース**で、**S3 に保存されているイベントデータ**を選択します。

   1. **IAM ロール**の場合は、ステップ 1 で作成したロールを選択します。

   1. **トレーニングデータの場所**で、サンプルデータファイルへの S3 URI パスを入力します。

1. [**次へ**] を選択します。

## ステップ 4: モデルをトレーニングする
<a name="step-4-training-data-assign-perms"></a>

1. [**モデル入力**] で、すべてのチェックボックスをオンのままにします。デフォルトでは、Amazon Fraud Detector は履歴イベントデータセットのすべての変数をモデル入力として使用します。

1. **ラベル分類**では、**不正ラベル**はサンプルデータセット内の**不正**イベントを表す値に対応するため、不正ラベルでは不正を選択します。**正当なラベル**の場合、このラベルはサンプルデータセット内の正当なイベントを表す値に対応するため、**正当**を選択します。

1. **ラベルなしイベント処理**の場合、このサンプルデータセットの**ラベルなしイベントを無視**するのデフォルト選択のままにします。

1. [**次へ**] を選択します。

1. 確認後、[**モデルの作成とトレーニング**] を選択します。Amazon Fraud Detector はモデルを作成し、モデルの新しいバージョンのトレーニングを開始します。

   **モデルバージョン**では、**「ステータス**」列にモデルトレーニングのステータスが表示されます。サンプルデータセットを使用するモデルトレーニングの完了には約 45 分かかります。モデルトレーニングが完了すると、ステータスは**デプロイ準備完了**に変わります。

# ステップ 5: モデルのパフォーマンスを確認する
<a name="step-6-review-trained-model-performance"></a>

Amazon Fraud Detector を使用する上で重要なステップは、モデルスコアとパフォーマンスメトリクスを使用してモデルの精度を評価することです。モデルトレーニングが完了すると、Amazon Fraud Detector はモデルのトレーニングに使用されなかったデータの 15% を使用してモデルのパフォーマンスを検証し、モデルのパフォーマンススコアやその他のパフォーマンスメトリクスを生成します。

1. モデルのパフォーマンスを表示するには、

   1. Amazon Fraud Detector コンソールの左のナビゲーションペインで、[**モデル**] を選択します。

   1. **モデル**ページで、トレーニングしたモデル (**sample\$1fraud\$1detection\$1model**) を選択し、**1.0** を選択します。これは、モデルで作成された Amazon Fraud Detector のバージョンです。

1. Amazon Fraud Detector がこのモデルに対して生成した**モデルパフォーマンス**の全体的なスコアとその他すべてのメトリクスを確認します。

   このページのモデルパフォーマンススコアとパフォーマンスメトリクスの詳細については、[モデルスコア](model-scores.md)「」および「」を参照してください[モデルパフォーマンスメトリクス](training-performance-metrics.md)。

   トレーニング済みのすべての Amazon Fraud Detector モデルには、このチュートリアルでモデルに表示されるパフォーマンスメトリクスと同様の実際の不正検出パフォーマンスメトリクスがあることが期待できます。

# ステップ 6: モデルをデプロイする
<a name="get-started-deploy-model"></a>

トレーニング済みモデルのパフォーマンスメトリクスを確認し、不正予測を生成する準備ができたら、モデルをデプロイできます。

1. Amazon Fraud Detector コンソールの左側のナビゲーションペインで、**モデル**を選択します。

1. **モデル**ページで sample**\$1fraud\$1detection\$1model** を選択し、デプロイする特定のモデルバージョンを選択します。このチュートリアルでは、**1.0** を選択します。

1. [**モデルバージョン**] ページで、[**アクション**] を選択してから、**モデルバージョンのデプロイ**] をクリックします。

1. **モデルバージョン**では、 **ステータス**にデプロイのステータスが表示されます。デプロイが完了すると、ステータスは**アクティブ**に変わります。これは、モデルバージョンがアクティブ化され、不正予測を生成できることを示します。「」に進み[パート B: 不正予測を生成する](part-b.md)、不正予測を生成するステップを完了します。

# パート B: 不正予測を生成する
<a name="part-b"></a>

不正予測は、ビジネスアクティビティ (イベント) の不正の評価です。Amazon Fraud Detector は、ディテクターを使用して不正予測を生成します。ディテクターには、不正について評価する特定のイベントのモデルやルールなどの検出ロジックが含まれています。検出ロジックはルールを使用して、モデルに関連付けられたデータの解釈方法を Amazon Fraud Detector に指示します。このチュートリアルでは、前にアップロードしたアカウント登録サンプルデータセットを使用して、アカウント登録イベントを評価します。

パート A では、モデルの作成、トレーニング、およびデプロイを行いました。パート B では、`sample_registration`イベントタイプのディテクターを構築し、デプロイされたモデルを追加し、ルールとルール実行順序を作成し、不正予測の生成に使用するディテクターのバージョンを作成してアクティブ化します。

## ステップ 1: ディテクターを構築する
<a name="step-1-create-app"></a>

**ディテクターを作成するには**

1. Amazon Fraud Detector コンソールの左のナビゲーションペインで、[**ディテクター**] をクリックします。

1. [**ディテクターの作成**] を選択します。

1. **ディテクターの詳細の定義**ページで、ディテクター名`sample_detector`に と入力します。必要に応じて、 などのディテクターの説明を入力します`my sample fraud detector`。

1. **イベントタイプ**で sample**\$1registration** を選択します。これは、このチュートリアルのパート A で作成したイベントです。

1. [**次へ**] を選択します。

## ステップ 2: モデルを追加する
<a name="add-model-detector"></a>

このチュートリアルのパート A を完了した場合、ディテクターに追加できる Amazon Fraud Detector モデルが既にある可能性があります。モデルをまだ作成していない場合は、パート A に移動し、モデルを作成、トレーニング、デプロイするステップを完了してから、パート B に進みます。

1. **モデルの追加 - オプション**で、**モデルの追加**を選択します。

1. **モデルの追加**ページの**モデルの選択**で、前にデプロイした Amazon Fraud Detector モデル名を選択します。**バージョンを選択** で、デプロイされたモデルのモデルバージョンを選択します。

1. [**モデルの追加**] を選択します。

1. [**次へ**] を選択します。

## ステップ 3: ルールを追加する
<a name="add-rules-to-detector"></a>

ルールは、不正予測を評価するときにモデルパフォーマンススコアを解釈する方法を Amazon Fraud Detector に指示する条件です。このチュートリアルでは、、`high_fraud_risk`、 `medium_fraud_risk`の 3 つのルールを作成します`low_fraud_risk`。

1. 「ルール**の追加**」ページの**「ルールの定義**」で、ルール名`high_fraud_risk`に**「説明 - オプション**」で、ルールの説明**This rule captures events with a high ML model score**として「」と入力します。

1. [**式**] で、Amazon Fraud Detector 簡易ルール式言語を使用して、次のルール式を入力します。

   `$sample_fraud_detection_model_insightscore > 900`

1. [**結果**] では、[**新しい結果の作成**] を選択します。結果は、不正予測の結果であり、評価中にルールが一致した場合に返されます。

1. [**新しい結果の作成**] には、結果名として「`verify_customer`」と入力します。必要に応じて説明に説明を入力します。

1. [**結果の保存**] を選択します。

1. [**ルールの追加**] を選択して、ルール検証チェッカーを実行し、ルールを保存します。作成後、Amazon Fraud Detector はルールをディテクターで使用できるようにします。

1. [**別のルールの追加**] を選択してから、[**ルールの作成**] タブをクリックします。

1. このプロセスをさらに 2 回繰り返して、次のルールの詳細を使用して `medium_fraud_risk` と `low_fraud_risk` ルールを作成します。
   + medium\$1fraud\$1risk

     ルール名: `medium_fraud_risk`

     結果: `review`

     式:

     `$sample_fraud_detection_model_insightscore <= 900 and`

     `$sample_fraud_detection_model_insightscore > 700`
   + low\$1fraud\$1risk

     ルール名: `low_fraud_risk`

     結果: `approve`

     式:

     `$sample_fraud_detection_model_insightscore <= 700`

   これらの値は、このチュートリアルで使用される例です。独自のディテクターのルールを作成するときは、モデルとユースケースに適した値を使用します。

1. すべてのルールを追加したら、[**次へ**] を選択します。

   ルールの作成と記述の詳細については、「[Rules](rules.md)」および「[ルール言語リファレンス](rule-language-reference.md)」を参照してください。

## ステップ 4: ルールの実行とルールの順序を設定する
<a name="get-start-define-rule-order"></a>

ディテクターに含まれるルールのルール実行モードによって、定義したすべてのルールが評価されるか、最初に一致したルールでルール評価が停止されるかが決まります。また、ルールの順序によって、ルールを実行する順序が決まります。

デフォルトのルール実行モードは `FIRST_MATCHED` です。

**最初の一致**  
最初の一致のルール実行モードは、定義されたルールの順序に基づいて、最初の一致ルールの結果を返します。`FIRST_MATCHED` を指定した場合、Amazon Fraud Detector はルールを順番に評価し、最初に一致したルールで停止します。Amazon Fraud Detector は、その 1 つのルールの結果を示します。  
ルールを実行する順序は、結果として生じる不正予測の結果に影響を与える可能性があります。ルールを作成したら、以下の手順に従って、ルールの順序を変更して必要な順序で実行します。  
`high_fraud_risk` ルールがまだルールリストの上部にない場合は、**「順序**」を選択し、**「1**」を選択します。これにより、`high_fraud_risk` が一番上に移動します。  
このプロセスを繰り返して、`medium_fraud_risk` ルールが 2 番目の位置に来て、`low_fraud_risk` ルールが 3 番目の位置に来るようにします。

**すべての一致**  
すべての一致ルール実行モードは、ルールの順序に関係なく、一致したすべてのルールの結果を返します。`ALL_MATCHED` を指定した場合、Amazon Fraud Detector はすべてのルールを評価し、一致したすべてのルールの結果を返します。

このチュートリアル`FIRST_MATCHED`で を選択し、次**へ** を選択します。

# ステップ 5: ディテクターバージョンを確認して作成する
<a name="get-start-review-and-create-detector-version"></a>

ディテクターバージョンは、不正予測の生成に使用される特定のモデルとルールを定義します。

1. **確認と作成**ページで、設定したディテクターの詳細、モデル、ルールを確認します。何らかの変更を加える必要がある場合は、対応するセクションの隣にある [**編集**] をクリックします。

1. [**ディテクターの作成**] を選択します。ディテクターの作成後、ディテクターの最初のバージョンが `Draft` ステータスで Detector バージョンテーブルに表示されます。

   **ドラフト**バージョンを使用して Detector をテストします。

# ステップ 6: ディテクターバージョンをテストしてアクティブ化する
<a name="step-6-eval-event-get-outcome"></a>

Amazon Fraud Detector コンソールでは、テスト**の実行機能を備えたモックデータを使用してディテクターのロジックをテスト**できます。このチュートリアルでは、サンプルデータセットのアカウント登録データを使用できます。

1. [**ディテクターバージョンの詳細**] ページの下部にある [**テストの実行**] までスクロールします。

1. **イベントメタデータ**には、イベントが発生した時刻のタイムスタンプを入力し、イベントを実行するエンティティの一意の識別子を入力します。このチュートリアルでは、タイムスタンプの日付ピッカーから日付を選択し、エンティティ ID に「1234」と入力します。

1. **イベント変数**に、テストする変数値を入力します。このチュートリアルでは、 フィールド`ip_address`と `email_address`フィールドのみが必要です。これは、Amazon Fraud Detector モデルのトレーニングに使用される入力であるためです。次のサンプル値を使用できます。これは、推奨される変数名を使用したことを前提としています。
   + ip\$1address: `205.251.233.178`
   + email\$1address: `johndoe@exampledomain.com`

1. [**テストの実行**] を選択します。

1. Amazon Fraud Detector は、ルール実行モードに基づいて不正予測の結果を返します。ルール実行モードが の場合`FIRST_MATCHED`、返される結果は一致した最初のルールに対応します。最初のルールは、優先度が最も高いルールです。true と評価された場合、一致します。ルール実行モードが の場合`ALL_MATCHED`、返される結果は一致したすべてのルールに対応します。つまり、それらはすべて true と評価されます。Amazon Fraud Detector は、ディテクターに追加されたモデルのモデルスコアも返します。

   入力を変更し、いくつかのテストを実行して、さまざまな結果を確認できます。テストにはサンプルデータセットの *ip\$1address* と *email\$1address* の値を使用し、結果が期待どおりであるかどうかを確認できます。

1. ディテクターの動作に満足したら、 から `Draft`に昇格します`Active`。これにより、ディテクターをリアルタイムの不正検出で使用できるようになります。

   [**ディテクターバージョンの詳細**] ページで、[**アクション**]、[**発行**]、[**バージョンの発行**] の順に選択します。これにより、ディテクターのステータスが**ドラフト**から**アクティブに変更されます。**

   この時点で、モデルと関連するディテクターロジックは、Amazon Fraud Detector `GetEventPrediction` API を使用してオンラインアクティビティをリアルタイムで評価できます。CSV 入力ファイルと `CreateBatchPredictionJob` API を使用して、オフラインでイベントを評価することもできます。不正予測の詳細については、「」を参照してください。 [不正予測](getting-fraud-predictions.md)

このチュートリアルを完了すると、次のことが実行されました。
+ Amazon S3 にイベントデータセットの例をアップロードしました。
+ サンプルデータセットを使用して Amazon Fraud Detector 不正検出モデルを作成し、トレーニングしました。
+ Amazon Fraud Detector が生成したモデルパフォーマンススコアおよびその他のパフォーマンスメトリクスを表示しました。
+ 不正検出モデルをデプロイしました。
+ ディテクターを作成し、デプロイされたモデルを追加しました。
+ ディテクターにルール、ルール実行順序、および結果を追加しました。
+ 異なる入力を提供し、ルールとルール実行順序が期待どおりに機能するかどうかをチェックして、ディテクターをテストしました。
+ ディテクターを発行してアクティブ化しました。

# チュートリアル: の使用を開始する AWS SDK for Python (Boto3)
<a name="getting-started-python"></a>

このチュートリアルでは、Amazon Fraud Detector モデルを構築してトレーニングし、このモデルを使用して を使用してリアルタイムの不正予測を生成する方法について説明します AWS SDK for Python (Boto3)。モデルは、Amazon S3 バケットにアップロードしたアカウント登録サンプルデータファイルを使用してトレーニングされます。

このチュートリアルの最後に、次のアクションを実行します。
+ Amazon Fraud Detector モデルの構築とトレーニング
+ リアルタイムの不正予測を生成する

## 前提条件
<a name="gs-sdk-prerequisites"></a>

このチュートリアルの前提条件ステップを次に示します。
+ 完了しました[Amazon Fraud Detector のセットアップ](set-up.md)。

  をすでにお持ちの場合は[AWS SDK のセットアップ](set-up.md#set-up-sdk)、Boto3 SDK バージョン 1.14.29 以降を使用していることを確認してください。
+ このチュートリアルに必要な[サンプルデータセットを取得してアップロードする](step-1-get-s3-data.md)ファイルの手順に従いました。

## はじめに
<a name="get-started-python"></a>

### ステップ 1: Python 環境をセットアップして検証する
<a name="setup-and-verify-your-python-environment"></a>

Boto は、Amazon Web Services (AWS) SDK for Python です。これを使用して、作成、設定、管理を行うことができます AWS のサービス。Boto3 をインストールする方法については、[「AWS SDK for Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html)」を参照してください。

インストール後 AWS SDK for Python (Boto3)、次の Python サンプルコマンドを実行して、環境が正しく設定されていることを確認します。環境が正しく設定されている場合、レスポンスにはディテクターのリストが含まれます。ディテクターが作成されていない場合、リストは空です。

```
import boto3
fraudDetector = boto3.client('frauddetector')
            
response = fraudDetector.get_detectors()
print(response)
```

### ステップ 2: 変数、エンティティタイプ、およびラベルを作成する
<a name="create-variables-entity-type-and-labels"></a>

このステップでは、モデル、イベント、ルールの定義に使用されるリソースを作成します。

#### 変数の作成
<a name="create-variable-gs-sdk"></a>

変数は、イベントタイプ、モデル、ルールの作成に使用するデータセットのデータ要素です。

次の例では、[CreateVariable](https://docs.aws.amazon.com//frauddetector/latest/api/API_CreateVariable.html) API を使用して 2 つの変数を作成します。変数は `email_address`と です`ip_address`。対応する変数タイプ `EMAIL_ADDRESS`と に割り当てます`IP_ADDRESS`。これらの変数は、アップロードしたデータセットの例の一部です。変数タイプを指定すると、Amazon Fraud Detector はモデルトレーニング中および予測の取得時に変数を解釈します。モデルトレーニングに使用できるのは、関連する変数タイプを持つ変数のみです。

```
import boto3
fraudDetector = boto3.client('frauddetector')

 #Create variable email_address
fraudDetector.create_variable(
    name = 'email_address',
    variableType = 'EMAIL_ADDRESS',
    dataSource = 'EVENT',
    dataType = 'STRING',
    defaultValue = '<unknown>'
)

#Create variable ip_address
fraudDetector.create_variable(
    name = 'ip_address',
    variableType = 'IP_ADDRESS',
    dataSource = 'EVENT',
    dataType = 'STRING',
    defaultValue = '<unknown>'
)
```

#### エンティティタイプを作成する
<a name="create-entity-gs-sdk"></a>

エンティティはイベントを実行しているユーザーを表し、エンティティタイプはエンティティを分類します。分類の例には、*顧客*、*マーチャント*、または*アカウント*が含まれます。

次の例では、[PutEntityType](https://docs.aws.amazon.com//frauddetector/latest/api/API_PutEntityType.html) API を使用して`sample_customer`エンティティタイプを作成します。

```
import boto3
fraudDetector = boto3.client('frauddetector')

fraudDetector.put_entity_type(
   name = 'sample_customer',
   description = 'sample customer entity type'
)
```

#### ラベルの作成
<a name="create-label-gs-sdk"></a>

ラベルは、イベントを不正または正当なものとして分類し、不正検出モデルのトレーニングに使用されます。モデルは、これらのラベル値を使用してイベントを分類する方法を学習します。

次の例では、[Putlabel](https://docs.aws.amazon.com//frauddetector/latest/api/API_PutLabel.html) API を使用して `fraud`と の 2 つのラベルを作成します`legit`。

```
import boto3
fraudDetector = boto3.client('frauddetector')

fraudDetector.put_label(
    name = 'fraud',
    description = 'label for fraud events'
)

fraudDetector.put_label(
    name = 'legit',
    description = 'label for legitimate events'
)
```

### ステップ 3: イベントタイプを作成する
<a name="python-create-event-type"></a>

Amazon Fraud Detector を使用すると、リスクを評価し、個々のイベントの不正予測を生成するモデルを構築できます。イベントタイプは、個々のイベントの構造を定義します。

次の例では、[PutEventType](https://docs.aws.amazon.com//frauddetector/latest/api/API_PutEventType.html) API を使用してイベントタイプ を作成します`sample_registration`。イベントタイプを定義するには、前のステップで作成した変数 (`email_address`、`ip_address`)、エンティティタイプ (`sample_customer`)、ラベル (`fraud`、`legit`) を指定します。

```
import boto3
fraudDetector = boto3.client('frauddetector')

fraudDetector.put_event_type (
     name = 'sample_registration',
     eventVariables = ['ip_address', 'email_address'],
     labels = ['legit', 'fraud'],
     entityTypes = ['sample_customer'])
```

### ステップ 4: モデルを作成、トレーニング、デプロイする
<a name="python-create-and-train-a-model"></a>

Amazon Fraud Detector は、特定のイベントタイプの不正を検出する方法を学習するためにモデルをトレーニングします。前のステップでは、 イベントタイプを作成しました。このステップでは、イベントタイプのモデルを作成してトレーニングします。モデルは、モデルバージョンのコンテナとして機能します。モデルをトレーニングするたびに、新しいバージョンが作成されます。

次のサンプルコードを使用して、オンライン不正インサイトモデルを作成およびトレーニングします。このモデルは と呼ばれます`sample_fraud_detection_model`。これは、Amazon S3 にアップロードしたアカウント登録サンプルデータセット`sample_registration`を使用するイベントタイプ用です。

Amazon Fraud Detector がサポートするさまざまなモデルタイプの詳細については、「」を参照してください[モデルタイプの選択](choosing-model-type.md)。

**モデルを作成する**

次の例では、[CreateModel](https://docs.aws.amazon.com//frauddetector/latest/api/API_CreateModel.html) API を使用してモデルを作成します。

```
import boto3
fraudDetector = boto3.client('frauddetector')

fraudDetector.create_model (
       modelId = 'sample_fraud_detection_model',
       eventTypeName = 'sample_registration',
       modelType = 'ONLINE_FRAUD_INSIGHTS')
```

**モデルをトレーニングする**

次の例では、[CreateModelVersion](https://docs.aws.amazon.com//frauddetector/latest/api/API_CreateModelVersion.html) API を使用してモデルをトレーニングします。`'EXTERNAL_EVENTS'` `trainingDataSource` と、サンプルデータセットを保存した Amazon S3 の場所、および の Amazon S3 バケットの *RoleArn* に を指定します`externalEventsDetail`。`trainingDataSchema` パラメータには、Amazon Fraud Detector がサンプルデータを解釈する方法を指定します。具体的には、含める変数と、イベントラベルを分類する方法を指定します。

```
import boto3
fraudDetector = boto3.client('frauddetector')

fraudDetector.create_model_version (
         modelId = 'sample_fraud_detection_model',
         modelType = 'ONLINE_FRAUD_INSIGHTS',
         trainingDataSource = 'EXTERNAL_EVENTS',
         trainingDataSchema = {
            'modelVariables' : ['ip_address', 'email_address'],
            'labelSchema' : {
               'labelMapper' : {
                   'FRAUD' : ['fraud'],
                   'LEGIT' : ['legit']
        }
    }
}, 
         externalEventsDetail = {
              'dataLocation' : 's3://amzn-s3-demo-bucket/your-example-data-filename.csv',
              'dataAccessRoleArn' : 'role_arn'
}
)
```

モデルを複数回トレーニングできます。モデルをトレーニングするたびに、新しいバージョンが作成されます。モデルトレーニングが完了すると、モデルバージョンのステータスは に更新されます`TRAINING_COMPLETE`。モデルパフォーマンススコアやその他のモデルパフォーマンスメトリクスを確認できます。

**モデルのパフォーマンスを確認する**

Amazon Fraud Detector を使用する上で重要なステップは、モデルスコアとパフォーマンスメトリクスを使用してモデルの精度を評価することです。モデルトレーニングが完了すると、Amazon Fraud Detector は、モデルのトレーニングに使用されなかったデータの 15% を使用してモデルのパフォーマンスを検証します。モデルのパフォーマンススコアやその他のパフォーマンスメトリクスが生成されます。

[DescribeModelVersions](https://docs.aws.amazon.com//frauddetector/latest/api/API_DescribeModelVersions.html) API を使用してモデルのパフォーマンスを確認します。この**モデルのモデルパフォーマンス**の全体的なスコアと、Amazon Fraud Detector によって生成されたその他のすべてのメトリクスを確認します。

モデルのパフォーマンススコアとパフォーマンスメトリクスの詳細については、[モデルスコア](model-scores.md)「」および「」を参照してください[モデルパフォーマンスメトリクス](training-performance-metrics.md)。

トレーニング済みのすべての Amazon Fraud Detector モデルに、このチュートリアルのメトリクスと同様の実際の不正検出パフォーマンスメトリクスがあることを期待できます。

**モデルのデプロイ**

トレーニング済みモデルのパフォーマンスメトリクスを確認したら、モデルをデプロイし、Amazon Fraud Detector が不正予測を生成できるようにします。トレーニング済みモデルをデプロイするには、[UpdateModelVersionStatus](https://docs.aws.amazon.com//frauddetector/latest/api/API_UpdateModelVersionStatus.html) API を使用します。次の例では、モデルバージョンのステータスを ACTIVE に更新するために使用されます。

```
import boto3
fraudDetector = boto3.client('frauddetector')

fraudDetector.update_model_version_status (
     modelId = 'sample_fraud_detection_model',
     modelType = 'ONLINE_FRAUD_INSIGHTS',
     modelVersionNumber = '1.00',
     status = 'ACTIVE'
)
```

### ステップ 5: ディテクター、結果、ルール、ディテクターバージョンを作成する
<a name="python-create-a-detector-outcome-rules-and-detector-version"></a>

ディテクターには、モデルやルールなどの検出ロジックが含まれています。このロジックは、不正について評価する特定のイベント用です。ルールは、予測中に変数値を解釈する方法を Amazon Fraud Detector に指示するために指定する条件です。また、結果は不正予測の結果です。ディテクターには複数のバージョンがあり、各バージョンのステータスは *DRAFT*、*ACTIVE*、または *INACTIVE* です。ディテクターバージョンには、少なくとも 1 つのルールが関連付けられている必要があります。

次のサンプルコードを使用して、ディテクター、ルール、結果を作成し、ディテクターを発行します。

**ディテクターを作成する**

次の例では、[PutDetector](https://docs.aws.amazon.com//frauddetector/latest/api/API_PutDetector.html) API を使用して`sample_registration`イベントタイプの`sample_detector`ディテクターを作成します。

```
import boto3
fraudDetector = boto3.client('frauddetector')

fraudDetector.put_detector (
     detectorId = 'sample_detector',
     eventTypeName = 'sample_registration'
)
```

**結果を作成する**

結果は、考えられる不正予測結果ごとに作成されます。次の例では、[PutOutcome](https://docs.aws.amazon.com//frauddetector/latest/api/API_PutOutcome.html) API を使用して、`verify_customer`、、 `review`の 3 つの結果を作成します`approve`。これらの結果は後でルールに割り当てられます。

```
import boto3
fraudDetector = boto3.client('frauddetector')

fraudDetector.put_outcome(
     name = 'verify_customer',
     description = 'this outcome initiates a verification workflow'
    )

fraudDetector.put_outcome(
     name = 'review',
     description = 'this outcome sidelines event for review'
    )

fraudDetector.put_outcome(
     name = 'approve',
     description = 'this outcome approves the event'
)
```

**ルールの作成**

ルールは、データセットの 1 つ以上の変数、ロジック式、および 1 つ以上の結果で構成されます。

次の例では、[CreateRule](https://docs.aws.amazon.com//frauddetector/latest/api/API_CreateRule.html) API を使用して、`high_risk`、、 `medium_risk`の 3 つの異なるルールを作成します`low_risk`。ルール式を作成して、モデルのパフォーマンススコア`sample_fraud_detection_model_insightscore`値をさまざまなしきい値と比較します。これは、イベントのリスクレベルを決定し、前のステップで定義した結果を割り当てます。

```
import boto3
fraudDetector = boto3.client('frauddetector')

fraudDetector.create_rule(
     ruleId = 'high_fraud_risk',
     detectorId = 'sample_detector',
     expression = '$sample_fraud_detection_model_insightscore > 900',
     language = 'DETECTORPL',
     outcomes = ['verify_customer']
     )

fraudDetector.create_rule(
     ruleId = 'medium_fraud_risk',
     detectorId = 'sample_detector',
     expression = '$sample_fraud_detection_model_insightscore <= 900 and $sample_fraud_detection_model_insightscore > 700',
     language = 'DETECTORPL',
     outcomes = ['review']
     )

fraudDetector.create_rule(
     ruleId = 'low_fraud_risk',
     detectorId = 'sample_detector',
     expression = '$sample_fraud_detection_model_insightscore <= 700',
     language = 'DETECTORPL',
     outcomes = ['approve']
     )
```

**ディテクターバージョンを作成する**

ディテクターバージョンは、不正予測の取得に使用されるモデルとルールを定義します。

次の例では、[CreateDetectorVersion](https://docs.aws.amazon.com//frauddetector/latest/api/API_CreateDetectorVersion.html) API を使用してディテクターバージョンを作成します。これを行うには、モデルバージョンの詳細、ルール、ルール実行モード FIRST\$1MATCHED を指定します。ルール実行モードは、ルールを評価するシーケンスを指定します。ルール実行モード FIRST\$1MATCHED は、ルールが最初から最後まで順番に評価され、最初に一致したルールで停止することを指定します。

```
import boto3
fraudDetector = boto3.client('frauddetector')

fraudDetector.create_detector_version(
      detectorId = 'sample_detector',
      rules = [{
          'detectorId' : 'sample_detector',
          'ruleId' : 'high_fraud_risk',
          'ruleVersion' : '1'
},
{
          'detectorId' : 'sample_detector',
          'ruleId' : 'medium_fraud_risk',
          'ruleVersion' : '1'
},
{
          'detectorId' : 'sample_detector',
          'ruleId' : 'low_fraud_risk',
          'ruleVersion' : '1'
}
],
      modelVersions = [{
          'modelId' : 'sample_fraud_detection_model',
          'modelType': 'ONLINE_FRAUD_INSIGHTS',
          'modelVersionNumber' : '1.00'
}      ],
      ruleExecutionMode = 'FIRST_MATCHED'
)
```

### ステップ 6: 不正予測を生成する
<a name="python-generate-fraud-predictions"></a>

このチュートリアルの最後のステップでは、前のステップで`sample_detector`作成したディテクターを使用して、`sample_registration`イベントタイプの不正予測をリアルタイムで生成します。ディテクターは、Amazon S3 にアップロードされたサンプルデータを評価します。レスポンスには、モデルのパフォーマンススコアと、一致したルールに関連付けられている結果が含まれます。

次の例では、[GetEventPrediction](https://docs.aws.amazon.com//frauddetector/latest/api/API_GetEventPrediction.html) API を使用して、リクエストごとに 1 つのアカウント登録のデータを提供します。このチュートリアルでは、アカウント登録サンプルデータファイルからデータ (email\$1address と ip\$1address) を取得します。上部のヘッダー行の後の各行 (行) は、単一のアカウント登録イベントからのデータを表します。

```
import boto3
fraudDetector = boto3.client('frauddetector')

fraudDetector.get_event_prediction(
      detectorId = 'sample_detector',
      eventId = '802454d3-f7d8-482d-97e8-c4b6db9a0428',
      eventTypeName = 'sample_registration',
      eventTimestamp = '2020-07-13T23:18:21Z',
      entities = [{'entityType':'sample_customer', 'entityId':'12345'}],
 eventVariables = {
      'email_address': 'johndoe@exampledomain.com',
      'ip_address': '1.2.3.4'
}
)
```

このチュートリアルを完了したら、以下を実行しました。
+ Amazon S3 にイベントデータセットの例をアップロードしました。
+ モデルの作成とトレーニングに使用される変数、エンティティ、ラベルを作成しました。
+ サンプルデータセットを使用してモデルを作成し、トレーニングしました。
+ Amazon Fraud Detector が生成したモデルパフォーマンススコアおよびその他のパフォーマンスメトリクスを表示しました。
+ 不正検出モデルをデプロイしました。
+ ディテクターを作成し、デプロイされたモデルを追加しました。
+ ディテクターにルール、ルール実行順序、および結果を追加しました。
+ ディテクターバージョンを作成しました。
+ 異なる入力を提供し、ルールとルール実行順序が期待どおりに機能するかどうかをチェックして、ディテクターをテストしました。

## (オプション) Jupyter (iPython) ノートブックを使用した Amazon Fraud Detector API について詳しく知る
<a name="gs-jupyter-notebook"></a>

Amazon Fraud Detector APIs[aws-fraud-detector-samples GitHub repository](https://github.com/aws-samples/aws-fraud-detector-samples)」を参照してください。ノートブックで取り上げるトピックには、Amazon Fraud Detector APIs を使用したモデルの構築とディテクターの両方、および `GetEventPrediction` API を使用したバッチ不正予測リクエストの作成が含まれます。

# 次の手順
<a name="next-steps-get-started-console"></a>

モデルとディテクターを作成したので、より深く掘り下げ、モデルとディテクターの作成と不正予測の生成を開始できます。

Amazon Fraud Detector ユーザーガイドの以下のセクションでは、ビジネスまたは組織が Amazon Fraud Detector を使用して不正を検出する方法について説明します。
+ モデルをトレーニングするためのイベントデータセットを準備して作成します。
+ イベントタイプを作成する
+ モデルを作成する
+ ディテクターを作成する
+ 不正予測の取得
+ Amazon Fraud Detector リソース (具体的には、変数、エンティティ、結果、ラベル) を管理する 
+ セキュリティとコンプライアンスの目的を達成するように Amazon Fraud Detector を設定する
+ Amazon Fraud Detector のモニタリングと Amazon Fraud Detector API コールのログ記録
+ Amazon Fraud Detector に関する問題のトラブルシューティング