Fungsi ML.TRANSFORM
Dokumen ini menjelaskan fungsi ML.TRANSFORM
, yang dapat Anda gunakan untuk melakukan prapemrosesan data fitur. Fungsi ini memproses data input dengan
menerapkan transformasi data yang ditangkap dalam
klausa TRANSFORM
dari model yang ada. Statistik yang dihitung untuk transformasi data selama pelatihan model diterapkan pada data input fungsi.
Untuk mengetahui informasi selengkapnya tentang model yang mendukung pra-pemrosesan fitur, lihat Perjalanan pengguna secara menyeluruh untuk setiap model.
Sintaksis
ML.TRANSFORM( MODEL `project_id.dataset.model`, { TABLE `project_id.dataset.table` | (query_statement) } )
Argumen
ML.TRANSFORM
menggunakan argumen berikut:
project_id
: Project ID Anda.dataset
: nilaiSTRING
yang menentukan set data BigQuery yang berisi model.model
: Nama model. Model harus dibuat menggunakan pernyataanCREATE MODEL
yang menyertakan klausaTRANSFORM
untuk melakukan prapemrosesan data fitur secara manual. Anda dapat memeriksa apakah model menggunakan klausaTRANSFORM
dengan menggunakan perintahbq show
untuk melihat metadata model. Jika model dilatih menggunakan klausaTRANSFORM
, metadata model akan berisi bagian tentang kolom transformasi. Fungsi ini akan menampilkan error jika Anda menentukan model yang dilatih tanpa klausaTRANSFORM
.table
: Nama tabel input yang berisi data fitur yang akan diproses sebelumnya.Jika
table
ditentukan, nama kolom input dalam tabel harus cocok dengan nama kolom input dalam klausaTRANSFORM
model, dan jenisnya harus kompatibel sesuai dengan aturan pemaksaan implisit BigQuery. Anda bisa mendapatkan nama kolom input dan jenis data dari metadata model, di bagian kolom fitur.query_statement
: Kueri yang menghasilkan data fitur untuk diproses sebelumnya. Untuk sintaksis SQL yang didukung dari klausaquery_statement
, lihat sintaksis kueri GoogleSQL.Jika
query_statement
ditentukan, nama kolom input dari kueri harus cocok dengan nama kolom input dalam klausaTRANSFORM
model, dan jenisnya harus kompatibel sesuai dengan aturan pemaksaan implisit BigQuery. Anda bisa mendapatkan nama kolom input dan jenis data dari metadata model, di bagian kolom fitur.
Output
ML.TRANSFORM
menampilkan kolom yang ditentukan dalam klausa TRANSFORM
model.
Contoh
Contoh berikut menampilkan data fitur yang telah diproses sebelumnya menggunakan klausa TRANSFORM
yang disertakan dalam model bernama mydataset.mymodel
di project default Anda.
Buat model yang berisi klausa TRANSFORM
:
CREATE OR REPLACE MODEL `mydataset.mymodel` TRANSFORM( species, island, ML.MAX_ABS_SCALER(culmen_length_mm) OVER () AS culmen_length_mm, ML.MAX_ABS_SCALER(flipper_length_mm) OVER () AS flipper_length_mm, sex, body_mass_g) OPTIONS ( model_type = 'linear_reg', input_label_cols = ['body_mass_g']) AS ( SELECT * FROM `bigquery-public-data.ml_datasets.penguins` WHERE body_mass_g IS NOT NULL );
Tampilkan data fitur yang telah diproses sebelumnya oleh klausa TRANSFORM
model:
SELECT * FROM ML.TRANSFORM( MODEL `mydataset.mymodel`, TABLE `bigquery-public-data.ml_datasets.penguins`);
Hasilnya akan mirip dengan berikut ini:
+-------------------------------------+--------+---------------------+---------------------+--------+-----------------+-------------+ | species | island | culmen_length_mm | flipper_length_mm | sex | culmen_depth_mm | body_mass_g | --------------------------------------+--------+ ------------------- +---------------------+--------+-----------------+-------------+ | Adelie Penguin (Pygoscelis adeliae) | Dream | 0.61409395973154368 | 0.79653679653679654 | Female | 18.4 | 3475.0 | | Adelie Penguin (Pygoscelis adeliae) | Dream | 0.66778523489932884 | 0.79653679653679654 | Male | 19.1 | 4650.0 | +-------------------------------------+--------+---------------------+---------------------+--------+-----------------+-------------+
Langkah selanjutnya
- Untuk mengetahui informasi tentang prapemrosesan fitur, lihat Ringkasan prapemrosesan fitur.