Jika Anda perlu mengambil atau menyajikan data saat ini dan historis data fitur, gunakan penayangan offline untuk mengambil nilai fitur dari menggunakan BigQuery. Misalnya, Anda dapat menggunakan penayangan offline untuk mengambil nilai fitur untuk stempel waktu tertentu untuk melatih model.
Semua data fitur, termasuk data fitur historis, disimpan di BigQuery, yang merupakan toko offline untuk nilai fitur Anda. Untuk menggunakan penyaluran offline, Anda harus mendaftarkan BigQuery terlebih dahulu sumber data dengan membuat grup fitur dan nilai fitur. Juga, dalam kasus penayangan offline, setiap baris yang berisi ID entitas yang sama harus memiliki {i>stempel waktu<i} yang berbeda. Untuk informasi selengkapnya tentang sumber data panduan persiapan, lihat Menyiapkan sumber data.
Sebelum memulai
Autentikasi ke Vertex AI, kecuali jika Anda sudah melakukannya.
Untuk menggunakan contoh Python di halaman ini dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
Untuk informasi selengkapnya, lihat Siapkan autentikasi untuk lingkungan pengembangan lokal.
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 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 terdaftar yang nilai fiturnya ingin Anda ambil.
ENTITY_ID_COLUMN: Nama kolom yang berisi ID entity. Anda dapat menentukan nama kolom hanya jika terdaftar dalam grup fitur.
ENTITY_ID_1 dan ENTITY_ID_2: ID entitas yang yang diinginkan untuk mengambil nilai fitur. Jika ingin mengambil nilai fitur untuk ID entitas yang sama pada stempel waktu yang berbeda, tentukan ID entitas yang sama sesuai dengan setiap stempel waktu.
FEATURE_TIMESTAMP_1 dan FEATURE_TIMESTAMP_2: 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 datetime—misalnya,
2024-05-01T12:00:00
.