如要擷取或提供目前和歷來的特徵資料,請使用離線服務從 BigQuery 擷取特徵值。舉例來說,您可以使用離線放送功能,擷取特定時間戳記的特徵值來訓練模型。
所有特徵資料 (包括歷來特徵資料) 都會保留在 BigQuery 中,這就是特徵值的離線儲存庫。如要使用離線放送,請先建立特徵群組和特徵值,註冊 BigQuery 資料來源。此外,如果是離線放送,含有相同實體 ID 的每一列都必須有不同的時間戳記。如要進一步瞭解資料來源準備指南,請參閱「準備資料來源」。
事前準備
向 Vertex AI 進行驗證 (如果尚未完成)。
如要在本機開發環境中使用本頁的 Python 範例,請安裝並初始化 gcloud CLI,然後使用使用者憑證設定應用程式預設憑證。
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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。
擷取歷來特徵值
使用下列範例,從多個實體 ID 和時間戳記擷取特徵的歷來值。
Python
在試用這個範例之前,請先按照Python使用用戶端程式庫的 Vertex AI 快速入門中的操作說明進行設定。 詳情請參閱 Vertex AI Python API 參考說明文件。
如要向 Vertex AI 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
import bigframes
import bigframes.pandas
import pandas as pd
from google.cloud import bigquery
from vertexai.resources.preview.feature_store import (Feature, FeatureGroup, offline_store)
from vertexai.resources.preview.feature_store import utils as fs_utils
fg = FeatureGroup("FEATURE_GROUP_NAME")
f1 = fg.get_feature("FEATURE_NAME_1")
f2 = fg.get_feature("FEATURE_NAME_2")
entity_df = pd.DataFrame(
data={
"ENTITY_ID_COLUMN": [
"ENTITY_ID_1",
"ENTITY_ID_2",
],
"timestamp": [
pd.Timestamp("FEATURE_TIMESTAMP_1"),
pd.Timestamp("FEATURE_TIMESTAMP_2"),
],
},
)
offline_store.fetch_historical_feature_values(
entity_df=entity_df,
features=[f1,f2],
)
更改下列內容:
FEATURE_GROUP_NAME:包含特徵的現有特徵群組名稱。
FEATURE_NAME_1 和 FEATURE_NAME_2:要從中擷取特徵值的已註冊特徵名稱。
ENTITY_ID_COLUMN:包含實體 ID 的資料欄名稱。 只有在特徵群組中註冊的資料欄名稱,才能指定。
ENTITY_ID_1 和 ENTITY_ID_2:要擷取特徵值的實體 ID。如要在不同時間戳記擷取相同實體 ID 的特徵值,請為每個時間戳記指定對應的實體 ID。
FEATURE_TIMESTAMP_1 和 FEATURE_TIMESTAMP_2:要擷取歷史特徵值的時間戳記。FEATURE_TIMESTAMP_1 對應於 ENTITY_ID_1,FEATURE_TIMESTAMP_2 對應於 ENTITY_ID_2,依此類推。以日期時間格式指定時間戳記,例如
2024-05-01T12:00:00
。