特徴を作成する

特徴グループを作成して 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. [作成] をクリックします。

Vertex AI SDK for Python

Vertex AI SDK for Python のインストールまたは更新の方法については、Vertex AI SDK for Python をインストールするをご覧ください。詳細については、Vertex AI SDK for 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"
    }
  }
}

次のステップ