特徴を作成する

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

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

特徴を作成するには、特徴グループに特徴データソースが関連付けられている必要があります。特徴グループに関連付けられたデータソースがない場合は、特徴グループ内に特徴を作成する前に、特徴グループを更新して 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 をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。

    Google Cloud CLI をインストールします。

    外部 ID プロバイダ(IdP)を使用している場合は、まずフェデレーション ID を使用して gcloud CLI にログインする必要があります。

    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.

    If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

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

REST

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

    Google Cloud CLI をインストールします。

    外部 ID プロバイダ(IdP)を使用している場合は、まずフェデレーション ID を使用して gcloud CLI にログインする必要があります。

詳細については、 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"
    }
  }
}

次のステップ