このページでは、AML AI の予測結果を作成および管理する方法について説明します。予測結果は BigQuery テーブルに保存されます。
この時点で必要なのは、予測結果を作成して関連するメタデータをエクスポートすることだけです。他の予測結果メソッドは、便宜上提供されています。
始める前に
-
予測結果の作成と管理に必要な権限を取得するには、プロジェクトに対する金融サービス管理者(
financialservices.admin
)の IAM ロールの付与を管理者に依頼してください。 ロールの付与の詳細については、アクセス権の管理に関する記事をご覧ください。 - インスタンスを作成する
- モデルを作成
- データセットを作成する
予測結果を作成する
一部の API メソッドは長時間実行オペレーション(LRO)を返します。 これらのメソッドは非同期です。このメソッドがレスポンスを返すときにオペレーションが完了していない場合があります。これらのメソッドでは、リクエストを送信してから結果を確認します。
リクエストを送信する
予測結果を作成するには、projects.locations.instances.predictionResults.create
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID
: IAM 設定に載っている Google Cloud プロジェクト ID。LOCATION
: インスタンスのロケーション。 サポートされているリージョンのいずれかを使用します。3~7 つの店舗を表示us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
INSTANCE_ID
: インスタンスのユーザー定義の識別子PREDICTION_RESULTS_ID
: 予測結果のユーザー定義の識別子MODEL_ID
: モデルのユーザー定義の識別子DATASET_ID
: 予測に使用するデータセットのユーザー定義の識別子。テーブルにトレーニング ラベルの列を含めないでくださいPREDICTION_END_DATE
: 予測用の特徴を生成するためにデータが使用された最新の時刻。この日付は、データセットの終了時刻と同じかそれ以前の日付にする必要があります。RFC3339 UTC「Zulu」形式を使用します(例:2014-10-02T15:01:23Z
)。PREDICTION_PERIODS
: 予測を生成する連続する月の数。データセットのタイムゾーンに従って、予測終了日より前の最後の 1 か月で終了します。BQ_OUTPUT_DATASET_NAME
: 予測に使用する出力 BigQuery データセットの名前BQ_OUTPUT_PREDICTION_TABLE
: 予測に使用する出力 BigQuery テーブルのユーザー定義の識別子BQ_OUTPUT_PREDICTION_EXPLAINABILITY_TABLE
: 予測に使用する出力の説明可能性 BigQuery テーブルのユーザー定義の識別子。BigQueri テーブルにエクスポートしない場合は、オプションのexplainabilityDestination
オブジェクトをリクエスト JSON から削除します。WRITE_DISPOSITION
: 宛先テーブルがすでに存在する場合に発生するアクション。次の値のいずれかを使用できます。-
WRITE_EMPTY
: BigQuery テーブルが空の場合にのみデータをエクスポートします。 -
WRITE_TRUNCATE
: テーブルに書き込む前に、BigQuery テーブル内の既存のデータをすべて削除します。
-
JSON 本文のリクエスト:
{ "model": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID", "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/DATASET_ID", "endTime": "PREDICTION_END_DATE", "predictionPeriods": "PREDICTION_PERIODS", "outputs": { "predictionDestination": { "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.BQ_OUTPUT_PREDICTION_TABLE", "writeDisposition": "WRITE_DISPOSITION" }, "explainabilityDestination": { "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.BQ_OUTPUT_PREDICTION_EXPLAINABILITY_TABLE", "writeDisposition": "WRITE_DISPOSITION" } } }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
cat > request.json << 'EOF' { "model": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID", "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/DATASET_ID", "endTime": "PREDICTION_END_DATE", "predictionPeriods": "PREDICTION_PERIODS", "outputs": { "predictionDestination": { "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.BQ_OUTPUT_PREDICTION_TABLE", "writeDisposition": "WRITE_DISPOSITION" }, "explainabilityDestination": { "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.BQ_OUTPUT_PREDICTION_EXPLAINABILITY_TABLE", "writeDisposition": "WRITE_DISPOSITION" } } } 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/predictionResults?prediction_result_id=PREDICTION_RESULTS_ID"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
@' { "model": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID", "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/DATASET_ID", "endTime": "PREDICTION_END_DATE", "predictionPeriods": "PREDICTION_PERIODS", "outputs": { "predictionDestination": { "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.BQ_OUTPUT_PREDICTION_TABLE", "writeDisposition": "WRITE_DISPOSITION" }, "explainabilityDestination": { "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.BQ_OUTPUT_PREDICTION_EXPLAINABILITY_TABLE", "writeDisposition": "WRITE_DISPOSITION" } } } '@ | 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/predictionResults?prediction_result_id=PREDICTION_RESULTS_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, "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/predictionResults/PREDICTION_RESULTS_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
結果を確認する
projects.locations.operations.get
メソッドを使用して、予測結果が作成されたかどうかを確認します。レスポンスに "done": false
が含まれている場合は、レスポンスに "done": true
が含まれるまでコマンドを繰り返します。
これらのオペレーションが完了するまでに数分から数時間かかることがあります。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID
: IAM 設定に載っている Google Cloud プロジェクト IDLOCATION
: インスタンスのロケーション。 サポートされているリージョンのいずれかを使用します。3~7 つの店舗を表示us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
OPERATION_ID
: オペレーションの ID。
リクエストを送信するには、次のいずれかのオプションを選択します。
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/INSTANCE_ID/predictionResults/PREDICTION_RESULTS_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/dataresidency.monitoring.DataResidencyAugmentedView", "tpIds": [ "i608e8cf4abb2a7d9-tp" ] } }
ExportMetadata
予測結果からメタデータをエクスポートするには、projects.locations.instances.predictionResults.exportMetadata
メソッドを使用します。
詳細については、AML 出力データモデルでエクスポートされたメタデータをご覧ください。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID
: IAM 設定に載っている Google Cloud プロジェクト ID。LOCATION
: インスタンスのロケーション。サポートされているリージョンのいずれかを使用します。3~7 つの店舗を表示us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
INSTANCE_ID
: インスタンスのユーザー定義の識別子PREDICTION_RESULTS_ID
: 予測結果のユーザー定義の識別子BQ_OUTPUT_DATASET_NAME
: 予測結果の構造化されたメタデータを記述するテーブルをエクスポートする BigQuery データセットSTRUCTURED_METADATA_TABLE
: 構造化メタデータを書き込むテーブルWRITE_DISPOSITION
: 宛先テーブルがすでに存在する場合に発生するアクション。次の値のいずれかを使用できます。-
WRITE_EMPTY
: BigQuery テーブルが空の場合にのみデータをエクスポートします。 -
WRITE_TRUNCATE
: テーブルに書き込む前に、BigQuery テーブル内の既存のデータをすべて削除します。
-
JSON 本文のリクエスト:
{ "structuredMetadataDestination": { "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.STRUCTURED_METADATA_TABLE", "writeDisposition": "WRITE_DISPOSITION" } }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
cat > request.json << 'EOF' { "structuredMetadataDestination": { "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.STRUCTURED_METADATA_TABLE", "writeDisposition": "WRITE_DISPOSITION" } } 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/predictionResults/PREDICTION_RESULTS_ID:exportMetadata"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
@' { "structuredMetadataDestination": { "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.STRUCTURED_METADATA_TABLE", "writeDisposition": "WRITE_DISPOSITION" } } '@ | 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/predictionResults/PREDICTION_RESULTS_ID: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/INSTANCE_ID/predictionResults/PREDICTION_RESULTS_ID", "verb": "exportMetadata", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
長時間実行オペレーション(LRO)の結果を取得する方法の詳細については、結果の確認をご覧ください。
オプションのメソッド
次の予測結果メソッドは、便宜上提供されています。
予測結果を取得する
予測結果を取得するには、projects.locations.instances.predictionResults.get
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID
: IAM 設定に載っている Google Cloud プロジェクト ID。LOCATION
: インスタンスのロケーション。 サポートされているリージョンのいずれかを使用します。3~7 つの店舗を表示us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
INSTANCE_ID
: インスタンスのユーザー定義の識別子PREDICTION_RESULTS_ID
: 予測結果のユーザー定義の識別子
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/predictionResults/PREDICTION_RESULTS_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/instances/INSTANCE_ID/predictionResults/PREDICTION_RESULTS_ID" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/predictionResults/PREDICTION_RESULTS_ID", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "state": "ACTIVE", "model": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID", "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/DATASET_ID", "endTime": "PREDICTION_END_DATE", "predictionPeriods": PREDICTION_PERIODS, "outputs": { "predictionDestination": { "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.BQ_OUTPUT_PREDICTION_TABLE", "writeDisposition": "WRITE_DISPOSITION" }, "explainabilityDestination": { "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.BQ_OUTPUT_PREDICTION_EXPLAINABILITY_TABLE", "writeDisposition": "WRITE_DISPOSITION" } }, "lineOfBusiness": "RETAIL" }
予測結果を更新する
予測結果を更新するには、projects.locations.instances.predictionResults.patch
メソッドを使用します。
予測結果のすべてのフィールドを更新できるわけではありません。次の例では、予測結果に関連付けられた Key-Value ペアのユーザーラベルを更新します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID
: IAM 設定に載っている Google Cloud プロジェクト ID。LOCATION
: インスタンスのロケーション。 サポートされているリージョンのいずれかを使用します。3~7 つの店舗を表示us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
INSTANCE_ID
: インスタンスのユーザー定義の識別子PREDICTION_RESULTS_ID
: 予測結果のユーザー定義の識別子KEY
: 予測結果の整理に使用する Key-Value ペアのキー。詳細については、labels
をご覧ください。VALUE
: 予測結果の整理に使用する Key-Value ペアの値。詳細については、labels
をご覧ください。
JSON 本文のリクエスト:
{ "labels": { "KEY": "VALUE" } }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
cat > request.json << 'EOF' { "labels": { "KEY": "VALUE" } } EOF
その後、次のコマンドを実行して REST リクエストを送信します。
curl -X PATCH \
-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/predictionResults/PREDICTION_RESULTS_ID?updateMask=labels"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
@' { "labels": { "KEY": "VALUE" } } '@ | Out-File -FilePath request.json -Encoding utf8
その後、次のコマンドを実行して REST リクエストを送信します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-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/predictionResults/PREDICTION_RESULTS_ID?updateMask=labels" | 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/INSTANCE_ID/predictionResults/PREDICTION_RESULTS_ID", "verb": "update", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
長時間実行オペレーション(LRO)の結果を取得する方法の詳細については、結果の確認をご覧ください。
予測結果を一覧表示する
特定のインスタンスの予測結果を一覧表示するには、projects.locations.instances.predictionResults.list
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID
: IAM 設定に載っている Google Cloud プロジェクト ID。LOCATION
: インスタンスのロケーション。 サポートされているリージョンのいずれかを使用します。3~7 つの店舗を表示us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
INSTANCE_ID
: インスタンスのユーザー定義の識別子
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/predictionResults"
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/instances/INSTANCE_ID/predictionResults" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "predictionResults": [ { "name": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/predictionResults/PREDICTION_RESULTS_ID", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "state": "ACTIVE", "model": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID", "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/DATASET_ID", "endTime": "PREDICTION_END_DATE", "predictionPeriods": PREDICTION_PERIODS, "outputs": { "predictionDestination": { "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.BQ_OUTPUT_PREDICTION_TABLE", "writeDisposition": "WRITE_DISPOSITION" }, "explainabilityDestination": { "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.BQ_OUTPUT_PREDICTION_EXPLAINABILITY_TABLE", "writeDisposition": "WRITE_DISPOSITION" } }, "lineOfBusiness": "RETAIL" } ] }
予測結果を削除する
予測結果を削除するには、projects.locations.instances.predictionResults.delete
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID
: IAM 設定に載っている Google Cloud プロジェクト ID。LOCATION
: インスタンスのロケーション。 サポートされているリージョンのいずれかを使用します。3~7 つの店舗を表示us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
INSTANCE_ID
: インスタンスのユーザー定義の識別子PREDICTION_RESULTS_ID
: 予測結果のユーザー定義の識別子
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/predictionResults/PREDICTION_RESULTS_ID"
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/INSTANCE_ID/predictionResults/PREDICTION_RESULTS_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, "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/predictionResults/PREDICTION_RESULTS_ID", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
長時間実行オペレーション(LRO)の結果を取得する方法の詳細については、結果の確認をご覧ください。