特徴グループを作成して BigQuery テーブルまたは BigQuery ビューを関連付けると、特徴を作成できます。1 つの特徴グループに複数の特徴を作成し、各特徴を BigQuery データソースの特定の列に関連付けることができます。BigQuery の使用方法については、BigQuery のドキュメントをご覧ください。
たとえば、特徴グループ featuregroup1
が fval1
列と fval2
列の特徴値を含む BigQuery テーブル datasource_1
と関連付けられている場合は、featuregroup1
の下に特徴 feature_1
を作成して fval1
列の特徴値と関連付けることができます。同様に、feature_2
という名前の別の特徴を作成し、fval2
列の特徴値に関連付けることができます。
特徴グループと特徴を使用してデータソースを登録することには、次のようなメリットがあります。
複数の BigQuery データソースの特定の特徴列を使用して、オンライン サービング用の特徴ビューを定義できます。
feature_timestamp
列を含めると、データを時系列としてフォーマットできます。Vertex AI Feature Store は、特徴データから最新の特徴値のみを提供し、履歴値は除外します。
次のサンプルを使用して、特徴グループ内に特徴を作成し、特徴グループに登録された BigQuery データソースの特徴値を含む列を関連付けることができます。
コンソール
Google Cloud コンソールを使用して既存の特徴グループに特徴を追加するには、次の操作を行います。
Google Cloud コンソールの [Vertex AI] セクションで、[Feature Store] ページに移動します。
[特徴グループ] セクションで、特徴を追加する特徴グループに対応する行の
をクリックし、[特徴を追加] をクリックします。特徴ごとに [特徴の名前] を入力し、リスト内の対応する BigQuery ソース列名をクリックします。別の特徴を追加するには、[他の特徴を追加] をクリックします。
[作成] をクリックします。
REST
Feature
リソースを作成するには、features.create メソッドを使用して POST
リクエストを送信します。
リクエストのデータを使用する前に、次のように置き換えます。
- LOCATION_ID: 特徴グループが配置されているリージョン(
us-central1
など)。 - PROJECT_ID: プロジェクト ID。
- FEATUREGROUP_NAME: 特徴を作成する特徴グループの名前。
- FEATURE_NAME: 作成する新しい特徴の名前。
- VERSION_COLUMN_NAME: 省略可。特徴に関連付ける BigQuery のテーブルまたはビューの列。このパラメータを指定しない場合は、デフォルトで FEATURE_NAME に設定されます。
HTTP メソッドと URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups/FEATUREGROUP_NAME/features?feature_id=FEATURE_NAME
リクエストの本文(JSON):
{ "version_column_name": "VERSION_COLUMN_NAME" }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups/FEATUREGROUP_NAME/features?feature_id=FEATURE_NAME"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$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://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups/FEATUREGROUP_NAME/features?feature_id=FEATURE_NAME" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureGroups/FEATUREGROUP_NAME/features/FEATURE_NAME/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.UpdateFeatureOperationMetadata", "genericMetadata": { "createTime": "2023-09-18T02:36:22.870679Z", "updateTime": "2023-09-18T02:36:22.870679Z" } } }
次のステップ
特徴グループ内のすべての特徴を一覧表示する方法を学習する。
特徴を更新する方法を学習する。
特徴を削除する方法を学習する。
特徴グループの更新方法を学ぶ。
Vertex AI Feature Store のオンライン サービング タイプ。