特徴グループを作成する

特徴グループを作成して、特徴データを含む BigQuery のテーブルまたはビューを登録できます。

特徴グループに関連付ける BigQuery のテーブルまたはビューについては、次のことを確認する必要があります。

  • データソースのスキーマが、データソースの準備のガイドラインを遵守している。

  • データソースの entity_id という名前の列に、エンティティ ID が string 値として格納されている。

  • データソースの feature_timestamp という名前の列に、timestamp 型の特徴タイムスタンプが含まれている。

特徴グループを作成して BigQuery データソースを関連付けたら、特徴を作成してデータソースの列と関連付けることができます。特徴グループの作成時にデータソースを指定するのは省略可能です。しかし、特徴を作成する前にはデータソースを指定する必要があります。

特徴グループと特徴を使用してデータソースを登録すると、次のような利点があります。

  • 複数の BigQuery データソースから、特定の特徴列を使用して、オンライン サービング用の特徴ビューを定義できます。

  • feature_timestamp 列を含めると、データを時系列としてフォーマットできます。Vertex AI Feature Store は、特徴データから最新の特徴値のみを提供し、履歴値は除外します。

次のサンプルを使用して、特徴グループを作成し、BigQuery データソースを関連付けます。

コンソール

Google Cloud コンソールを使用して特徴グループを作成するには、次の操作を行います。

  1. Google Cloud コンソールの [Vertex AI] セクションで、[Feature Store] ページに移動します。

    [Feature Store] ページに移動

  2. [特徴グループ] セクションで [作成] をクリックし、[特徴グループの作成] ページの [基本情報] ペインを開きます。

  3. [特徴グループ名] を指定します。

  4. 省略可: ラベルを追加するには、[ラベルを追加] をクリックし、ラベル名と値を指定します。特徴グループには複数のラベルを追加できます。

  5. [BigQuery のパス] フィールドで [参照] をクリックし、BigQuery のソーステーブルまたはビューを選択して、そのテーブルまたはビューを特徴グループに関連付けます。

  6. 省略可: [エンティティ ID 列] リストで、BigQuery ソーステーブルまたはビューのエンティティ ID 列をクリックします。

  7. [続行] をクリックします。

  8. [登録] ペインで、次のいずれかのオプションをクリックして、新しい特徴グループに特徴を追加するかどうかを指定します。

    • BigQuery テーブルのすべての列を含める - BigQuery ソーステーブルまたはビュー内のすべての列の特徴グループ内に特徴を作成します。

    • 手動で特徴を入力する - BigQuery ソースの特定の列に基づいて特徴を作成します。特徴ごとに特徴名を入力し、リストの対応する BigQuery ソース列名をクリックします。

      別の特徴を追加するには、[他の特徴を追加] をクリックします。

    • 空の特徴グループを作成する - 特徴を追加せずに特徴グループを作成します。

  9. [作成] をクリックします。

REST

FeatureGroup リソースを作成するには、featureGroups.create メソッドを使用して POST リクエストを送信します。

リクエストのデータを使用する前に、次のように置き換えます。

  • LOCATION_ID: 特徴グループを作成するリージョン(us-central1 など)。
  • PROJECT_ID: プロジェクト ID。
  • FEATUREGROUP_NAME: 作成する新しい特徴グループの名前。
  • BIGQUERY_SOURCE_URI: 特徴グループに登録する BigQuery ソーステーブルまたはビューの URI。

HTTP メソッドと URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups?feature_group_id=FEATUREGROUP_NAME

リクエストの本文(JSON):

{
  "big_query": {
    "big_query_source": {
      "input_uri": "BIGQUERY_SOURCE_URI"
    }
  }
}

リクエストを送信するには、次のいずれかのオプションを選択します。

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?feature_group_id=FEATUREGROUP_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?feature_group_id=FEATUREGROUP_NAME" | Select-Object -Expand Content

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureGroups/FEATUREGROUP_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.UpdateFeatureGroupOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-18T03:00:13.060636Z",
      "updateTime": "2023-09-18T03:00:13.060636Z"
    }
  }
}

次のステップ