特徴を作成する

特徴グループを作成して BigQuery テーブルまたは BigQuery ビューを関連付けると、特徴を作成できます。1 つの特徴グループに複数の特徴を作成し、各特徴を BigQuery データソースの特定の列に関連付けることができます。BigQuery の使用方法については、BigQuery のドキュメントをご覧ください。

たとえば、特徴グループ featuregroup1fval1 列と fval2 列の特徴値を含む BigQuery テーブル datasource_1 と関連付けられている場合は、featuregroup1 の下に特徴 feature_1 を作成して fval1 列の特徴値と関連付けることができます。同様に、feature_2 という名前の別の特徴を作成し、fval2 列の特徴値に関連付けることができます。

特徴グループと特徴を使用してデータソースを登録することには、次のようなメリットがあります。

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

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

  • Data Catalog で特徴リソースを検索すると、BigQuery ソースを関連する特徴データソースとして検出できます。

始める前に

まだ行っていない場合は、Vertex AI に対する認証を行います。

Select the tab for how you plan to use the samples on this page:

Console

When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

Python

ローカル開発環境でこのページの Python サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。

  1. Install the Google Cloud CLI.
  2. To initialize the gcloud CLI, run the following command:

    gcloud init
  3. 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.

詳細については Set up authentication for a local development environment をご覧ください。

REST

このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。

    Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init

詳細については、Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。

特徴グループ内に特徴を作成する

次のサンプルを使用して、特徴グループ内に特徴を作成し、特徴グループに登録された BigQuery データソースの特徴値を含む列を関連付けることができます。

コンソール

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

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

    [Feature Store] ページに移動

  2. [特徴グループ] セクションで、特徴を追加する特徴グループに対応する行の をクリックし、[特徴を追加] をクリックします。

  3. 特徴ごとに [特徴の名前] を入力し、リスト内の対応する BigQuery ソース列名をクリックします。別の特徴を追加するには、[他の特徴を追加] をクリックします。

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

Python

Vertex AI SDK for Python のインストールまたは更新の方法については、Vertex AI SDK for Python をインストールするをご覧ください。 詳細については、Python API リファレンス ドキュメントをご覧ください。


from google.cloud import aiplatform
from vertexai.resources.preview import feature_store


def create_feature_sample(
    project: str,
    location: str,
    existing_feature_group_id: str,
    feature_id: str,
    version_column_name: str,
):
    aiplatform.init(project=project, location=location)
    feature_group = feature_store.FeatureGroup(existing_feature_group_id)
    feature = feature_group.create_feature(
        name=feature_id, version_column_name=version_column_name
    )
    return feature

  • project: プロジェクト ID。
  • location: 特徴グループが配置されているリージョン(us-central1 など)。
  • existing_feature_group_id: 特徴を作成する既存の特徴グループの名前。
  • version_column_name: 省略可。特徴に関連付ける BigQuery のテーブルまたはビューの列。このパラメータを指定しない場合は、デフォルトで FEATURE_NAME に設定されます。
  • feature_id: 作成する新しい特徴の名前

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"
    }
  }
}

次のステップ