マネー ロンダリングを検出するように設計されたモデルをトレーニングおよびテストする
このクイックスタートでは、Anti Money Laundering AI(AML AI)API を使用してマネー ロンダリングを検出するモデルのエンドツーエンドの実装について説明します。このガイドでは、次の手順でマネー ロンダリングを検出するモデルをトレーニングしてテストする方法について説明します。
- クラウド環境を準備し、AML AI インスタンスを作成します。
- BigQuery テーブルの形式で合成トランザクション データを提供します。
- 入力データを使用してモデルをトレーニングし、バックテストします。
- 当事者を登録し、モデル予測を行います。
このガイドでは、予測結果の作成後に、資金のストラクチャリングによってマネー ロンダリングを行う当事者の例の単一のケースを分析します。
始める前に
このセクションでは、 Google Cloud アカウントを設定し、必要なGoogle Cloud サービスを有効にして、クイックスタートを実行するために必要な権限を付与する方法について説明します。
所有していない既存のプロジェクトを使用する場合は、既存のプロジェクトにアクセスするための特定の権限を管理者に付与してもらう必要がある場合があります。詳細については、プロジェクトの作成と管理をご覧ください。
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Install the Google Cloud CLI.
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the required APIs:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable financialservices.googleapis.com
bigquery.googleapis.com cloudkms.googleapis.com bigquerydatatransfer.googleapis.com -
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/financialservices.admin, roles/cloudkms.admin, roles/bigquery.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Replace the following:
PROJECT_ID
: your project ID.USER_IDENTIFIER
: the identifier for your user account—for example,myemail@example.com
.ROLE
: the IAM role that you grant to your user account.
-
Install the Google Cloud CLI.
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the required APIs:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable financialservices.googleapis.com
bigquery.googleapis.com cloudkms.googleapis.com bigquerydatatransfer.googleapis.com -
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/financialservices.admin, roles/cloudkms.admin, roles/bigquery.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Replace the following:
PROJECT_ID
: your project ID.USER_IDENTIFIER
: the identifier for your user account—for example,myemail@example.com
.ROLE
: the IAM role that you grant to your user account.
- このガイドの API リクエストでは、ガイドをより簡単に完了できるように、同じ Google Cloud プロジェクト、ロケーション、ハードコードされたリソース ID を使用します。リソース ID は、
my-
resource-type(例:my-key-ring
、my-model
)のパターンに従います。このガイドでは、次の置換が定義されていることを確認してください。
PROJECT_ID
: IAM 設定に記載されている Google Cloud プロジェクト IDPROJECT_NUMBER
:PROJECT_ID
に関連付けられたプロジェクト番号。プロジェクト番号は IAM 設定ページで確認できます。LOCATION
: API リソースのロケーション。サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
australia-southeast1
LOCATION
: キーリングのロケーション。 サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
australia-southeast1
OPERATION_ID
: オペレーションの ID。- 100,000の当事者
- 2020 年 1 月 1 日から 2023 年 1 月 1 日までのコア期間と、追加の 24 か月間のルックバック データ
- 月あたり 300 件のネガティブ リスクケースと 20 件のポジティブ リスクケース
- 次の属性を持つリスクケース:
- ポジティブ リスクケースの半分は、
AML_PROCESS_START
イベントの前の 2 か月間に発生したストラクチャリング活動に関するものです。 - 残りの半分は、
AML_PROCESS_START
イベントの前の 2 か月間で受領額が最も高い当事者を対象としています。 - ネガティブ ケースはランダムに生成されます。
- 逆の状態でリスクケースが生成される可能性は 0.1%です(例えば、ポジティブでランダムな当事者、またはストラクチャリング活動や最も高い所得があり、ネガティブと報告される当事者など)。
- ポジティブ リスクケースの半分は、
- AML スキーマは、AML 入力データモデルで定義されています。
作成した入力データセットにサンプルのバンキング データをコピーします。
Bash
bq mk --transfer_config \ --project_id=PROJECT_ID \ --data_source=cross_region_copy \ --target_dataset="my_bq_input_dataset" \ --display_name="Copy the AML sample dataset." \ --schedule=None \ --params='{ "source_project_id":"bigquery-public-data", "source_dataset_id":"aml_ai_input_dataset", "overwrite_destination_table":"true" }'
PowerShell
bq mk --transfer_config ` --project_id=PROJECT_ID ` --data_source=cross_region_copy ` --target_dataset="my_bq_input_dataset" ` --display_name="Copy the AML sample dataset." ` --schedule=None ` --params='{\"source_project_id\":\"bigquery-public-data\",\"source_dataset_id\":\"aml_ai_input_dataset\",\"overwrite_destination_table\":\"true\"}'
データ転送ジョブをモニタリングします。
Bash
bq ls --transfer_config \ --transfer_location=LOCATION \ --project_id=PROJECT_ID \ --filter="dataSourceIds:cross_region_copy"
PowerShell
bq ls --transfer_config ` --transfer_location=LOCATION ` --project_id=PROJECT_ID ` --filter="dataSourceIds:cross_region_copy"
転送が完了すると、表示名が
Copy the AML sample dataset
のデータ転送ジョブが作成されます。Google Cloud コンソールを使用して転送のステータスを確認することもできます。
次のような出力が表示されます。
name displayName dataSourceId state ------------------------------------------- ----------------------- ----------------- --------- projects/294024168771/locations/us-central1 Copy AML sample dataset cross_region_copy SUCCEEDED
入力データセットとそのテーブルに対する読み取りアクセス権を付与します。
Bash
bq query --project_id=PROJECT_ID --use_legacy_sql=false \ 'GRANT `roles/bigquery.dataViewer` ON SCHEMA `PROJECT_ID.my_bq_input_dataset` TO "serviceAccount:service-PROJECT_NUMBER@gcp-sa-financialservices.iam.gserviceaccount.com"'
PowerShell
bq query --project_id=PROJECT_ID --use_legacy_sql=false "GRANT ``roles/bigquery.dataViewer`` ON SCHEMA ``PROJECT_ID.my_bq_input_dataset`` TO 'serviceAccount:service-PROJECT_NUMBER@gcp-sa-financialservices.iam.gserviceaccount.com'"
出力データセットに対する書き込みアクセス権を付与します。
Bash
bq query --project_id=PROJECT_ID --use_legacy_sql=false \ 'GRANT `roles/bigquery.dataEditor` ON SCHEMA `PROJECT_ID.my_bq_output_dataset` TO "serviceAccount:service-PROJECT_NUMBER@gcp-sa-financialservices.iam.gserviceaccount.com"'
PowerShell
bq query --project_id=PROJECT_ID --use_legacy_sql=false "GRANT ``roles/bigquery.dataEditor`` ON SCHEMA ``PROJECT_ID.my_bq_output_dataset`` TO 'serviceAccount:service-PROJECT_NUMBER@gcp-sa-financialservices.iam.gserviceaccount.com'"
Google Cloud コンソールで BigQuery を開きます。
[エクスプローラ] ペインでプロジェクトを見つけて開きます。
my_bq_output_dataset を開き、[my_backtest_results_metadata] をクリックします。
メニューバーで [プレビュー] をクリックします。
[name] 列で、[ObservedRecallValues] を含む行を見つけます。
調査能力が 1 か月あたり 120 件であるとします。
"partyInvestigationsPerPeriod": "120"
で再現率値のオブジェクトを見つけます。次のサンプル値では、リスクスコアが 0.53 を超える当事者に調査を制限すると、毎月 120 の新しい当事者を調査できます。バックテスト期間中の 2022 年において、以前のシステムで識別されたケースの 86% が特定されます(おそらく、現在のプロセスでは識別されなかった他のケースも考えられます)。{ "recallValues": [ ... { "partyInvestigationsPerPeriod": "105", "recallValue": 0.8142077, "scoreThreshold": 0.6071321 }, { "partyInvestigationsPerPeriod": "120", "recallValue": 0.863388, "scoreThreshold": 0.5339603 }, { "partyInvestigationsPerPeriod": "135", "recallValue": 0.89071035, "scoreThreshold": 0.4739899 }, ... ] }
Google Cloud コンソールで BigQuery を開きます。
詳細ペインで [Untitled Query] タブをクリックして、エディタを開きます。
次の SQL ステートメントをエディタにコピーし、[実行] をクリックします。
SELECT * FROM `PROJECT_ID.my_bq_input_dataset.transaction` WHERE account_id = '1E60OAUNKP84WDKB' AND DATE_TRUNC(book_time, MONTH) = "2022-08-01" ORDER by book_time
このステートメントは、2022 年 8 月のアカウント ID
1E60OAUNKP84WDKB
を確認します。このアカウントは、当事者の IDEGS4NJD38JZ8NTL8
にリンクされています。特定のアカウント ID の当事者 ID は、AccountPartyLink テーブルで確認できます。トランザクション データには、高額の現金入金の直後に 1 つのアカウントを対象とした一連の高頻度のラウンド トランザクションが表示されますが、これは疑わしい可能性があります。このような取引は、スマーフィング(多額の金銭取引を少額の取引に分割すること)やストラクチャリングを示すものである可能性があります。
次の SQL ステートメントをエディタにコピーし、[実行] をクリックします。
SELECT * FROM `PROJECT_ID.my_bq_input_dataset.risk_case_event` WHERE party_id = 'EGS4NJD38JZ8NTL8'
このステートメントは、この当事者の退出につながるリスクケースが存在したことを示しています。このリスクケースは疑わしいアクティビティから 2 か月後に始まりました。
次の SQL ステートメントをエディタにコピーし、[実行] をクリックします。
SELECT * FROM `PROJECT_ID.my_bq_output_dataset.my_prediction_results` WHERE party_id = 'EGS4NJD38JZ8NTL8' ORDER BY risk_period_end_time
予測結果を確認すると、ほぼゼロであった当事者のリスクスコアが(指数値であることに注意)、不審なアクティビティが検出された翌月には高い値に増加していることがわかります。実際の結果は、表示された結果と異なる場合があります。
リスクスコアは確率ではありません。常に他のリスクスコアと比較して評価する必要があります。たとえば、小さく見える値であっても、他のリスクスコアの方が低い場合は、ポジティブと見なすことができます。
次の SQL ステートメントをエディタにコピーし、[実行] をクリックします。
SELECT * FROM `PROJECT_ID.my_bq_output_dataset.my_prediction_results_explainability` WHERE party_id = 'EGS4NJD38JZ8NTL8' AND risk_period_end_time = '2022-10-01'
説明可能性の結果を確認することで、正しい特徴ファミリーが最も高い値であることがわかります。
プロジェクト内の転送ジョブを表示します。
Bash
bq ls --transfer_config \ --transfer_location=LOCATION \ --project_id=PROJECT_ID \ --filter="dataSourceIds:cross_region_copy"
PowerShell
bq ls --transfer_config ` --transfer_location=LOCATION ` --project_id=PROJECT_ID ` --filter="dataSourceIds:cross_region_copy"
次のような出力が返されます。
name displayName dataSourceId state ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ projects/PROJECT_NUMBER/locations/LOCATION/transferConfigs/TRANSFER_CONFIG_ID Copy the AML sample dataset. cross_region_copy SUCCEEDED
projects/
で始まりTRANSFER_CONFIG_ID
で終わる名前全体をコピーします。転送構成を削除します。
Bash
bq rm --transfer_config TRANSFER_CONFIG_NAME
PowerShell
bq rm --transfer_config TRANSFER_CONFIG_NAME
- 概要で主なコンセプトを確認する
- リファレンス ドキュメントを表示する
必要な権限
このクイックスタートを完了するには、次の権限が必要です。
権限 | 説明 |
---|---|
resourcemanager.projects.get | Google Cloud プロジェクトを取得する |
resourcemanager.projects.list | Google Cloud 個のプロジェクトを一覧表示する |
cloudkms.keyRings.create | Cloud KMS キーリングを作成する |
cloudkms.cryptoKeys.create | Cloud KMS 鍵を作成する |
financialservices.v1instances.create | AML AI インスタンスを作成する |
financialservices.operations.get | AML AI オペレーションを取得する |
cloudkms.cryptoKeys.getIamPolicy | Cloud KMS 鍵の IAM ポリシーを取得する |
cloudkms.cryptoKeys.setIamPolicy | Cloud KMS 鍵に IAM ポリシーを設定する |
bigquery.datasets.create | BigQuery データセットを作成する |
bigquery.datasets.get | BigQuery データセットを取得する |
bigquery.transfers.get | BigQuery Data Transfer Service 転送を取得する |
bigquery.transfers.update | BigQuery Data Transfer Service 転送を作成または削除する |
bigquery.datasets.setIamPolicy | BigQuery データセットに IAM ポリシーを設定する |
bigquery.datasets.update | BigQuery データセットを更新する |
financialservices.v1datasets.create | AML AI データセットを作成する |
financialservices.v1engineconfigs.create | AML AI エンジン構成を作成する |
financialservices.v1models.create | AML AI モデルを作成する |
financialservices.v1backtests.create | AML AI バックテスト結果を作成する |
financialservices.v1backtests.exportMetadata | AML AI バックテスト結果からメタデータをエクスポートする |
financialservices.v1instances.importRegisteredParties | 登録済み当事者を AML AI インスタンスにインポートする |
financialservices.v1predictions.create | AML AI 予測結果を作成する |
bigquery.jobs.create | BigQuery ジョブを作成する |
bigquery.tables.getData | BigQuery テーブルからデータを取得する |
financialservices.v1predictions.delete | AML AI 予測結果を削除する |
financialservices.v1backtests.delete | AML AI バックテスト結果を削除する |
financialservices.v1models.delete | AML AI モデルを削除する |
financialservices.v1engineconfigs.delete | AML AI エンジン構成を削除する |
financialservices.v1datasets.delete | AML AI データセットを削除する |
financialservices.v1instances.delete | AML AI インスタンスを削除する |
bigquery.datasets.delete | BigQuery データセットを削除する |
インスタンスの作成
このセクションでは、インスタンスを作成する方法について説明します。AML AI インスタンスは、他のすべての AML AI リソースのルートにあります。各インスタンスには、AML AI によって作成されたデータの暗号化に使用する関連付けられた顧客管理の暗号鍵(CMEK)が 1 つ必要です。
キーリングを作成する
キーリングを作成するには、projects.locations.keyRings.create
メソッドを使用します。
REST
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings?key_ring_id=my-key-ring"
PowerShell
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings?key_ring_id=my-key-ring" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring", "createTime": CREATE_TIME }
gcloud
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud kms keyrings create my-key-ring \ --location LOCATION
Windows(PowerShell)
gcloud kms keyrings create my-key-ring ` --location LOCATION
Windows(cmd.exe)
gcloud kms keyrings create my-key-ring ^ --location LOCATION
$
キーを作成
鍵を作成するには、projects.locations.keyRings.cryptoKeys
メソッドを使用します。
REST
リクエストの本文(JSON):
{ "purpose": "ENCRYPT_DECRYPT" }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
cat > request.json << 'EOF' { "purpose": "ENCRYPT_DECRYPT" } EOF
その後、次のコマンドを実行して REST リクエストを送信します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring/cryptoKeys?crypto_key_id=my-key"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
@' { "purpose": "ENCRYPT_DECRYPT" } '@ | Out-File -FilePath request.json -Encoding utf8
その後、次のコマンドを実行して REST リクエストを送信します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring/cryptoKeys?crypto_key_id=my-key" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring/cryptoKeys/my-key", "primary": { "name": "projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring/cryptoKeys/my-key/cryptoKeyVersions/1", "state": "ENABLED", "createTime": CREATE_TIME, "protectionLevel": "SOFTWARE", "algorithm": "GOOGLE_SYMMETRIC_ENCRYPTION", "generateTime": GENERATE_TIME }, "purpose": "ENCRYPT_DECRYPT", "createTime": CREATE_TIME, "versionTemplate": { "protectionLevel": "SOFTWARE", "algorithm": "GOOGLE_SYMMETRIC_ENCRYPTION" }, "destroyScheduledDuration": "86400s" }
gcloud
後述のコマンドデータを使用する前に、次のように置き換えます。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud kms keys create my-key \ --keyring my-key-ring \ --location LOCATION \ --purpose "encryption"
Windows(PowerShell)
gcloud kms keys create my-key ` --keyring my-key-ring ` --location LOCATION ` --purpose "encryption"
Windows(cmd.exe)
gcloud kms keys create my-key ^ --keyring my-key-ring ^ --location LOCATION ^ --purpose "encryption"
$
API を使用してインスタンスを作成する
インスタンスを作成するには、projects.locations.instances.create
メソッドを使用します。
リクエストの本文(JSON):
{ "kmsKey": "projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring/cryptoKeys/my-key" }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
cat > request.json << 'EOF' { "kmsKey": "projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring/cryptoKeys/my-key" } EOF
その後、次のコマンドを実行して REST リクエストを送信します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances?instance_id=my-instance"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
@' { "kmsKey": "projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring/cryptoKeys/my-key" } '@ | Out-File -FilePath request.json -Encoding utf8
その後、次のコマンドを実行して REST リクエストを送信します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances?instance_id=my-instance" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
成功した場合、レスポンスの本文には長時間実行オペレーションが含まれます。これには、非同期オペレーションの進行中のステータスを取得するために使用できる ID が含まれています。返された OPERATION_ID
をコピーして、次のセクションで使用します。
結果を確認する
インスタンスが作成されたかどうかを確認するには、projects.locations.operations.get
メソッドを使用します。レスポンスに "done": false
が含まれている場合は、レスポンスに "done": true
が含まれるまでコマンドを繰り返します。
このガイドのオペレーションは、完了するまでに数分~数時間かかることがあります。API は一部のメソッドの出力を他のメソッドへの入力として使用するため、このガイドでは、オペレーションが完了するまで待ってから次に進んでください。
リクエストのデータを使用する前に、次のように置き換えます。
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID"
PowerShell
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": CREATE_TIME, "endTime": END_TIME, "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.Instance", "name": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "kmsKey": "projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/my-key-ring/cryptoKeys/my-key", "state": "ACTIVE" } }
CMEK 鍵へのアクセス権の付与
API により、プロジェクトにサービス アカウントが自動的に作成されます。サービス アカウントには、基盤となるデータの暗号化と復号に鍵を使用できるように、CMEK 鍵へのアクセス権が必要です。鍵へのアクセス権を付与します。
gcloud kms keys add-iam-policy-binding "projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring/cryptoKeys/my-key" \
--keyring "projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring" \
--location "LOCATION" \
--member "serviceAccount:service-PROJECT_NUMBER@gcp-sa-financialservices.iam.gserviceaccount.com" \
--role="roles/cloudkms.cryptoKeyEncrypterDecrypter" \
--project="PROJECT_ID"
BigQuery データセットを作成します
このセクションでは、入出力の BigQuery データセットを作成し、サンプルのバンキング データを入力データセットにコピーする方法について説明します。
出力データセットを作成する
AML パイプラインの出力を送信するために使用するデータセットを作成します。
Bash
bq mk \
--location=LOCATION \
--project_id=PROJECT_ID \
my_bq_output_dataset
PowerShell
bq mk `
--location=LOCATION `
--project_id=PROJECT_ID `
my_bq_output_dataset
入力データセットを作成する
サンプルのバンキング テーブルをコピーするデータセットを作成します。
Bash
bq mk \
--location=LOCATION \
--project_id=PROJECT_ID \
my_bq_input_dataset
PowerShell
bq mk `
--location=LOCATION `
--project_id=PROJECT_ID `
my_bq_input_dataset
サンプル データセットをコピーする
サンプルのバンキング データは、Google の共有データセット プロジェクトの BigQuery データセットとして提供されています。このデータセットにアクセスするには、AML AI API へのアクセス権が必要です。このデータセットの主な特徴は次のとおりです。
BigQuery データセットへのアクセス権の付与
API により、プロジェクトにサービス アカウントが自動的に作成されます。サービス アカウントには、BigQuery の入力データセットと出力データセットへのアクセス権が必要です。
AML AI データセットを作成する
AML AI データセットを作成して、使用する入力 BigQuery データセット テーブルと期間を指定します。
データセットを作成するには、projects.locations.instances.datasets.create
メソッドを使用します。
リクエストの本文(JSON):
{ "tableSpecs": { "party": "bq://PROJECT_ID.my_bq_input_dataset.party", "account_party_link": "bq://PROJECT_ID.my_bq_input_dataset.account_party_link", "transaction": "bq://PROJECT_ID.my_bq_input_dataset.transaction", "risk_case_event": "bq://PROJECT_ID.my_bq_input_dataset.risk_case_event", "party_supplementary_data": "bq://PROJECT_ID.my_bq_input_dataset.party_supplementary_data" }, "dateRange": { "startTime": "2020-01-01T00:00:0.00Z", "endTime": "2023-01-01T00:00:0.00Z" }, "timeZone": { "id": "UTC" } }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
cat > request.json << 'EOF' { "tableSpecs": { "party": "bq://PROJECT_ID.my_bq_input_dataset.party", "account_party_link": "bq://PROJECT_ID.my_bq_input_dataset.account_party_link", "transaction": "bq://PROJECT_ID.my_bq_input_dataset.transaction", "risk_case_event": "bq://PROJECT_ID.my_bq_input_dataset.risk_case_event", "party_supplementary_data": "bq://PROJECT_ID.my_bq_input_dataset.party_supplementary_data" }, "dateRange": { "startTime": "2020-01-01T00:00:0.00Z", "endTime": "2023-01-01T00:00:0.00Z" }, "timeZone": { "id": "UTC" } } EOF
その後、次のコマンドを実行して REST リクエストを送信します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets?dataset_id=my-dataset"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
@' { "tableSpecs": { "party": "bq://PROJECT_ID.my_bq_input_dataset.party", "account_party_link": "bq://PROJECT_ID.my_bq_input_dataset.account_party_link", "transaction": "bq://PROJECT_ID.my_bq_input_dataset.transaction", "risk_case_event": "bq://PROJECT_ID.my_bq_input_dataset.risk_case_event", "party_supplementary_data": "bq://PROJECT_ID.my_bq_input_dataset.party_supplementary_data" }, "dateRange": { "startTime": "2020-01-01T00:00:0.00Z", "endTime": "2023-01-01T00:00:0.00Z" }, "timeZone": { "id": "UTC" } } '@ | Out-File -FilePath request.json -Encoding utf8
その後、次のコマンドを実行して REST リクエストを送信します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets?dataset_id=my-dataset" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
新しいオペレーション ID を使用して、オペレーションの結果を確認できます。(このガイドで使用されている残りの API リクエストについても同様に実行できます)。
エンジン構成を作成する
特定のエンジン バージョンと指定されたデータに基づいてハイパーパラメータを自動的にチューニングする AML AI エンジン構成を作成します。エンジン バージョンは定期的にリリースされ、異なるモデルロジック(たとえば、小売部門と商用部門のターゲットなど)に対応しています。
エンジン設定を作成するには、projects.locations.instances.engineConfigs.create
メソッドを使用します。
このステージではハイパーパラメータのチューニングが行われるため、処理に時間がかかることがあります。データが大幅に変更されない限り、このステップを使用して多くのモデルを作成してテストできます。
リクエストの本文(JSON):
{ "engineVersion": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineVersions/aml-commercial.default.v004.008.202411-001", "tuning": { "primaryDataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset", "endTime": "2021-07-01T00:00:00Z" }, "performanceTarget": { "partyInvestigationsPerPeriodHint": "30" } }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
cat > request.json << 'EOF' { "engineVersion": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineVersions/aml-commercial.default.v004.008.202411-001", "tuning": { "primaryDataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset", "endTime": "2021-07-01T00:00:00Z" }, "performanceTarget": { "partyInvestigationsPerPeriodHint": "30" } } EOF
その後、次のコマンドを実行して REST リクエストを送信します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineConfigs?engine_config_id=my-engine-config"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
@' { "engineVersion": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineVersions/aml-commercial.default.v004.008.202411-001", "tuning": { "primaryDataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset", "endTime": "2021-07-01T00:00:00Z" }, "performanceTarget": { "partyInvestigationsPerPeriodHint": "30" } } '@ | Out-File -FilePath request.json -Encoding utf8
その後、次のコマンドを実行して REST リクエストを送信します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineConfigs?engine_config_id=my-engine-config" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineConfigs/my-engine-config", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
モデルを作成する
このステップでは、2021 年 7 月 1 日までの 12 か月間のデータを使用して AML AI モデルをトレーニングします。
モデルを作成するには、projects.locations.instances.models.create
メソッドを使用します。
リクエストの本文(JSON):
{ "engineConfig": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineConfigs/my-engine-config", "primaryDataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset", "endTime": "2021-07-01T00:00:00Z" }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
cat > request.json << 'EOF' { "engineConfig": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineConfigs/my-engine-config", "primaryDataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset", "endTime": "2021-07-01T00:00:00Z" } EOF
その後、次のコマンドを実行して REST リクエストを送信します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models?model_id=my-model"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
@' { "engineConfig": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineConfigs/my-engine-config", "primaryDataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset", "endTime": "2021-07-01T00:00:00Z" } '@ | Out-File -FilePath request.json -Encoding utf8
その後、次のコマンドを実行して REST リクエストを送信します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models?model_id=my-model" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models/my-model", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
バックテスト結果を作成する
バックテスト予測では、既存の過去のデータに対してトレーニング済みモデルを使用します。2023 年 1 月までの 12 か月間のデータ(トレーニングでは使用されていないデータ)のバックテスト結果を作成します。これらの月は、2021 年 7 月までトレーニングされたモデルを 2022 年 1 月から 12 月まで本番環境で使用した場合に処理する必要があるケースの数を判断するために使用されます。
バックテスト結果を作成するには、projects.locations.instances.backtestResults.create
メソッドを使用します。
リクエストの本文(JSON):
{ "model": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models/my-model", "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset", "endTime": "2023-01-01T00:00:00Z", "backtestPeriods": 12, "performanceTarget": { "partyInvestigationsPerPeriodHint": "150" } }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
cat > request.json << 'EOF' { "model": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models/my-model", "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset", "endTime": "2023-01-01T00:00:00Z", "backtestPeriods": 12, "performanceTarget": { "partyInvestigationsPerPeriodHint": "150" } } EOF
その後、次のコマンドを実行して REST リクエストを送信します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/backtestResults?backtest_result_id=my-backtest-results"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
@' { "model": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models/my-model", "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset", "endTime": "2023-01-01T00:00:00Z", "backtestPeriods": 12, "performanceTarget": { "partyInvestigationsPerPeriodHint": "150" } } '@ | Out-File -FilePath request.json -Encoding utf8
その後、次のコマンドを実行して REST リクエストを送信します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/backtestResults?backtest_result_id=my-backtest-results" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/backtestResults/my-backtest-results", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
バックテスト結果のメタデータをエクスポートする
バックテストを実行したら、結果を BigQuery にエクスポートして表示する必要があります。バックテストの結果からメタデータをエクスポートするには、projects.locations.instances.backtestResults.exportMetadata
メソッドを使用します。
リクエストの本文(JSON):
{ "structuredMetadataDestination": { "tableUri": "bq://PROJECT_ID.my_bq_output_dataset.my_backtest_results_metadata", "writeDisposition": "WRITE_TRUNCATE" } }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
cat > request.json << 'EOF' { "structuredMetadataDestination": { "tableUri": "bq://PROJECT_ID.my_bq_output_dataset.my_backtest_results_metadata", "writeDisposition": "WRITE_TRUNCATE" } } EOF
その後、次のコマンドを実行して REST リクエストを送信します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/backtestResults/my-backtest-results:exportMetadata"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
@' { "structuredMetadataDestination": { "tableUri": "bq://PROJECT_ID.my_bq_output_dataset.my_backtest_results_metadata", "writeDisposition": "WRITE_TRUNCATE" } } '@ | Out-File -FilePath request.json -Encoding utf8
その後、次のコマンドを実行して REST リクエストを送信します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/backtestResults/my-backtest-results:exportMetadata" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/backtestResults/my-backtest-results", "verb": "exportMetadata", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
オペレーションが完了したら、次の操作を行います。
他のフィールドの詳細については、バックテストの結果をご覧ください。
partyInvestigationsPerPeriodHint
フィールドを変更すると、バックテストで生成される調査の数を変更できます。調査するスコアを取得するには、当事者を登録し、それらに対する予測を生成します。
登録済み当事者をインポートする
予測結果を作成する前に、登録済みの当事者(データセット内の顧客)をインポートする必要があります。
登録済みの当事者をインポートするには、projects.locations.instances.importRegisteredParties
メソッドを使用します。
リクエストの本文(JSON):
{ "partyTables": [ "bq://PROJECT_ID.my_bq_input_dataset.party_registration" ], "mode": "REPLACE", "lineOfBusiness": "COMMERCIAL" }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
cat > request.json << 'EOF' { "partyTables": [ "bq://PROJECT_ID.my_bq_input_dataset.party_registration" ], "mode": "REPLACE", "lineOfBusiness": "COMMERCIAL" } EOF
その後、次のコマンドを実行して REST リクエストを送信します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance:importRegisteredParties"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
@' { "partyTables": [ "bq://PROJECT_ID.my_bq_input_dataset.party_registration" ], "mode": "REPLACE", "lineOfBusiness": "COMMERCIAL" } '@ | Out-File -FilePath request.json -Encoding utf8
その後、次のコマンドを実行して REST リクエストを送信します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance:importRegisteredParties" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance", "verb": "importRegisteredParties", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
オペレーションが完了するまで、そのオペレーションの結果を確認し続けます。完了すると、JSON 出力に 10,000 の当事者が登録されたことが示されます。
予測結果を作成する
データセットの最後の 12 か月に関する予測結果を作成します。これらの月はトレーニングで使用されていません。予測結果を作成すると、すべての予測期間にわたって各月の各当事者のスコアが作成されます。
予測結果を作成するには、projects.locations.instances.predictionResults.create
メソッドを使用します。
リクエストの本文(JSON):
{ "model": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models/my-model", "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset", "endTime": "2023-01-01T00:00:00Z", "predictionPeriods": "12", "outputs": { "predictionDestination": { "tableUri": "bq://PROJECT_ID.my_bq_output_dataset.my_prediction_results", "writeDisposition": "WRITE_TRUNCATE" }, "explainabilityDestination": { "tableUri": "bq://PROJECT_ID.my_bq_output_dataset.my_prediction_results_explainability", "writeDisposition": "WRITE_TRUNCATE" } } }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
cat > request.json << 'EOF' { "model": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models/my-model", "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset", "endTime": "2023-01-01T00:00:00Z", "predictionPeriods": "12", "outputs": { "predictionDestination": { "tableUri": "bq://PROJECT_ID.my_bq_output_dataset.my_prediction_results", "writeDisposition": "WRITE_TRUNCATE" }, "explainabilityDestination": { "tableUri": "bq://PROJECT_ID.my_bq_output_dataset.my_prediction_results_explainability", "writeDisposition": "WRITE_TRUNCATE" } } } EOF
その後、次のコマンドを実行して REST リクエストを送信します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/predictionResults?prediction_result_id=my-prediction-results"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
@' { "model": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models/my-model", "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset", "endTime": "2023-01-01T00:00:00Z", "predictionPeriods": "12", "outputs": { "predictionDestination": { "tableUri": "bq://PROJECT_ID.my_bq_output_dataset.my_prediction_results", "writeDisposition": "WRITE_TRUNCATE" }, "explainabilityDestination": { "tableUri": "bq://PROJECT_ID.my_bq_output_dataset.my_prediction_results_explainability", "writeDisposition": "WRITE_TRUNCATE" } } } '@ | Out-File -FilePath request.json -Encoding utf8
その後、次のコマンドを実行して REST リクエストを送信します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/predictionResults?prediction_result_id=my-prediction-results" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/predictionResults/my-prediction-results", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Google Cloud コンソールで 1 つのストラクチャリング ケースを分析する
クリーンアップ
このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、リソースを含む Google Cloud プロジェクトを削除します。
予測結果を削除する
予測結果を削除するには、projects.locations.instances.predictionResults.delete
メソッドを使用します。
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/predictionResults/my-prediction-results"
PowerShell
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/predictionResults/my-prediction-results" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/predictionResults/my-prediction-results", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
バックテスト結果を削除する
バックテスト結果を削除するには、projects.locations.instances.backtestResults.delete
メソッドを使用します。
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/backtestResults/my-backtest-results"
PowerShell
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/backtestResults/my-backtest-results" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/backtestResults/my-backtest-results", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
モデルを削除します。
モデルを削除するには、projects.locations.instances.models.delete
メソッドを使用します。
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models/my-model"
PowerShell
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models/my-model" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models/my-model", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
エンジン構成を削除する
エンジン設定を削除するには、projects.locations.instances.engineConfigs.delete
メソッドを使用します。
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineConfigs/my-engine-config"
PowerShell
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineConfigs/my-engine-config" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineConfigs/my-engine-config", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
データセットの削除
データセットを削除するには、projects.locations.instances.datasets.delete
メソッドを使用します。
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset"
PowerShell
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
インスタンスの削除
インスタンスを削除するには、projects.locations.instances.delete
コマンドを使用します。
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance"
PowerShell
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
BigQuery データセットを削除する
bq rm -r -f -d PROJECT_ID:my_bq_input_dataset
bq rm -r -f -d PROJECT_ID:my_bq_output_dataset