Jika Anda perlu mengambil atau menayangkan data fitur saat ini dan historis, gunakan penayangan offline untuk mengambil nilai fitur dari BigQuery. Misalnya, Anda dapat menggunakan penyaluran offline untuk mengambil nilai fitur untuk stempel waktu tertentu guna melatih model.
Semua data fitur, termasuk data fitur historis, dikelola di BigQuery, yang merupakan penyimpanan offline untuk nilai fitur Anda. Untuk menggunakan penayangan offline, Anda harus mendaftarkan sumber data BigQuery terlebih dahulu dengan membuat grup fitur dan nilai fitur. Selain itu, dalam kasus penayangan offline, setiap baris yang berisi ID entity yang sama harus memiliki stempel waktu yang berbeda. Untuk informasi selengkapnya tentang panduan persiapan sumber data, lihat Menyiapkan sumber data.
Sebelum memulai
Lakukan autentikasi ke Vertex AI, kecuali jika Anda telah melakukannya.
Untuk menggunakan contoh Python di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Install the Google Cloud CLI.
-
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.
Untuk informasi selengkapnya, lihat Set up authentication for a local development environment.
Mengambil nilai fitur historis
Gunakan contoh berikut untuk mengambil nilai historis dari fitur dari beberapa ID entitas dan stempel waktu.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Python Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
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],
)
Ganti kode berikut:
FEATURE_GROUP_NAME: Nama grup fitur yang ada yang berisi fitur.
FEATURE_NAME_1 dan FEATURE_NAME_2: Nama fitur yang terdaftar tempat Anda ingin mengambil nilai fitur.
ENTITY_ID_COLUMN: Nama kolom yang berisi ID entity. Anda dapat menentukan nama kolom hanya jika kolom tersebut terdaftar di grup fitur.
ENTITY_ID_1 dan ENTITY_ID_2: ID entity yang nilai fiturnya ingin Anda ambil. Jika Anda ingin mengambil nilai fitur untuk ID entity yang sama pada stempel waktu yang berbeda, tentukan ID entity yang sama yang sesuai dengan setiap stempel waktu.
FEATURE_TIMESTAMP_1 dan FEATURE_TIMESTAMP_2: Stempel waktu yang sesuai dengan nilai fitur historis yang ingin Anda ambil. FEATURE_TIMESTAMP_1 sesuai dengan ENTITY_ID_1, FEATURE_TIMESTAMP_2 sesuai dengan ENTITY_ID_2, dan seterusnya. Tentukan stempel waktu dalam format tanggal dan waktu—misalnya,
2024-05-01T12:00:00
.