이전 특성값 제공

이전 특성 데이터는 물론 현재 특성 데이터를 검색하거나 제공해야 한다면 오프라인 서빙을 사용하여 BigQuery에서 특성값을 가져옵니다. 예를 들어 오프라인 서빙을 사용하여 모델을 학습시키기 위한 특정 타임스탬프의 특성값을 검색할 수 있습니다.

이전 특성 데이터를 포함한 모든 특성 데이터는 특성값의 오프라인 스토어를 구성하는 BigQuery에서 유지관리됩니다. 오프라인 서빙을 사용하려면 먼저 특성 그룹과 특성값을 생성해 BigQuery 데이터 소스를 등록해야 합니다. 또한 오프라인 서빙의 경우 동일한 엔티티 ID를 포함하는 모든 행에 서로 다른 타임스탬프가 있어야 합니다. 데이터 소스 준비 가이드라인에 대한 자세한 내용은 데이터 소스 준비를 참조하세요.

시작하기 전에

아직 Vertex AI에 인증하지 않았다면 인증을 진행합니다.

이 페이지의 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.

이전 특성값 가져오기

다음 샘플을 사용하여 여러 엔티티 ID와 타임스탬프에서 특성의 이전 값을 가져옵니다.

Python

이 샘플을 사용해 보기 전에 Vertex AI 빠른 시작: 클라이언트 라이브러리 사용Python 설정 안내를 따르세요. 자세한 내용은 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_1FEATURE_NAME_2: 특성값을 검색할 수 있는 등록된 특성의 이름입니다.

  • ENTITY_ID_COLUMN: 엔티티 ID가 포함된 열의 이름입니다. 특성 그룹에 등록된 경우에만 열 이름을 지정할 수 있습니다.

  • ENTITY_ID_1ENTITY_ID_2: 특성값을 가져올 엔티티 ID입니다. 서로 다른 타임스탬프에서 동일한 엔티티 ID의 특성값을 검색하려면 각 타임스탬프에 해당하는 동일한 엔티티 ID를 지정합니다.

  • FEATURE_TIMESTAMP_1FEATURE_TIMESTAMP_2: 검색하려는 이전 특성값에 해당하는 타임스탬프입니다. 예를 들어 FEATURE_TIMESTAMP_1ENTITY_ID_1에 해당하고 FEATURE_TIMESTAMP_2ENTITY_ID_2에 해당합니다. 날짜/시간 형식으로 타임스탬프를 지정합니다(예: 2024-05-01T12:00:00).