Pubblicare i valori storici delle funzionalità

Se devi recuperare o pubblicare dati delle funzionalità attuali e storici, utilizza la pubblicazione offline per recuperare i valori delle funzionalità da BigQuery. Ad esempio, puoi utilizzare la pubblicazione offline per recuperare i valori delle caratteristiche per timestamp specifici per addestrare un modello.

Tutti i dati delle funzionalità, inclusi quelli storici, vengono mantenuti in BigQuery, che costituisce l'archivio offline per i valori delle funzionalità. Per utilizzare la pubblicazione offline, devi prima registrare l'origine dati BigQuery creando gruppi di funzionalità e valori delle funzionalità. Inoltre, nel caso di pubblicazione offline, ogni riga contenente lo stesso ID entità deve avere un timestamp diverso. Per saperne di più sulle linee guida per la preparazione dell'origine dati, consulta Preparare l'origine dati.

Prima di iniziare

Autenticati su Vertex AI, a meno che tu non l'abbia già fatto.

Per utilizzare gli esempi di Python questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.

  1. Install the Google Cloud CLI.

  2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  3. To initialize the gcloud CLI, run the following command:

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

Per ulteriori informazioni, vedi Set up authentication for a local development environment.

Recuperare i valori storici delle caratteristiche

Utilizza il seguente esempio per recuperare i valori storici di una funzionalità da più ID entità e timestamp.

Python

Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Vertex AI per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vertex AI Python.

Per autenticarti in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

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],
)

Sostituisci quanto segue:

  • FEATURE_GROUP_NAME: il nome del gruppo di funzionalità esistente contenente la funzionalità.

  • FEATURE_NAME_1 e FEATURE_NAME_2: i nomi delle caratteristiche registrate da cui vuoi recuperare i valori delle caratteristiche.

  • ENTITY_ID_COLUMN: il nome della colonna contenente gli ID entità. Puoi specificare un nome di colonna solo se è registrato nel gruppo di funzionalità.

  • ENTITY_ID_1 e ENTITY_ID_2: gli ID entità per cui vuoi recuperare i valori delle caratteristiche. Se vuoi recuperare i valori delle caratteristiche per lo stesso ID entità in timestamp diversi, specifica lo stesso ID entità corrispondente a ogni timestamp.

  • FEATURE_TIMESTAMP_1 e FEATURE_TIMESTAMP_2: i timestamp corrispondenti ai valori storici della caratteristica che vuoi recuperare. FEATURE_TIMESTAMP_1 corrisponde a ENTITY_ID_1, FEATURE_TIMESTAMP_2 corrisponde a ENTITY_ID_2 e così via. Specifica i timestamp nel formato data e ora, ad esempio 2024-05-01T12:00:00.