Mengekspor model
Halaman ini menunjukkan cara mengekspor model BigQuery ML. Anda dapat mengekspor model BigQuery ML ke Cloud Storage, dan menggunakannya untuk prediksi online, atau mengeditnya di Python. Anda dapat mengekspor model BigQuery ML dengan:
- Menggunakan Konsol Google Cloud.
- Menggunakan pernyataan
EXPORT MODEL
. - Menggunakan perintah
bq extract
di alat command line bq. - Mengirimkan tugas
extract
melalui library klien atau API.
Anda dapat mengekspor jenis model berikut:
AUTOENCODER
AUTOML_CLASSIFIER
AUTOML_REGRESSOR
BOOSTED_TREE_CLASSIFIER
BOOSTED_TREE_REGRESSOR
DNN_CLASSIFIER
DNN_REGRESSOR
DNN_LINEAR_COMBINED_CLASSIFIER
DNN_LINEAR_COMBINED_REGRESSOR
KMEANS
LINEAR_REG
LOGISTIC_REG
MATRIX_FACTORIZATION
RANDOM_FOREST_CLASSIFIER
RANDOM_FOREST_REGRESSOR
TENSORFLOW
(model TensorFlow yang diimpor)PCA
TRANSFORM_ONLY
Mengekspor format dan contoh model
Tabel berikut menampilkan format tujuan ekspor untuk setiap jenis model BigQuery ML dan memberikan sampel file yang ditulis di bucket Cloud Storage.
Jenis model | Mengekspor format model | Contoh file yang diekspor |
---|---|---|
AUTOML_CLASSIFIER | TensorFlow SavedModel (TF 2.1.0) | gcs_bucket/
|
AUTOML_REGRESSOR | ||
AUTOENCODER | TensorFlow SavedModel (TF 1.15 atau yang lebih tinggi) | |
DNN_CLASSIFIER | ||
DNN_REGRESSOR | ||
DNN_LINEAR_COMBINED_CLASSIFIER | ||
DNN_LINEAR_COMBINED_REGRESSOR | ||
KMEANS | ||
LINEAR_REGRESSOR | ||
LOGISTIC_REG | ||
MATRIX_FACTORIZATION | ||
PCA | ||
TRANSFORM_ONLY | ||
BOOSTED_TREE_CLASSIFIER | Booster (XGBoost 0.82) | gcs_bucket/
main.py adalah untuk operasi lokal. Lihat Deployment model untuk detail selengkapnya.
|
BOOSTED_TREE_REGRESSOR | ||
RANDOM_FOREST_REGRESSOR | ||
RANDOM_FOREST_REGRESSOR | ||
TENSORFLOW (diimpor) | TensorFlow SavedModel | File yang sama persis dengan yang ada saat mengimpor model |
Mengekspor model yang dilatih dengan TRANSFORM
Jika model dilatih dengan klausa TRANSFORM
, maka model pra-pemrosesan tambahan akan menjalankan logika yang sama dalam klausa TRANSFORM
dan disimpan dalam format TensorFlow SavedModel di bawah subdirektori transform
.
Anda dapat men-deploy model yang dilatih dengan klausa TRANSFORM
ke Vertex AI serta secara lokal. Untuk informasi selengkapnya, lihat deployment model.
Mengekspor format model | Contoh file yang diekspor |
---|---|
Model prediksi: TensorFlow SavedModel atau Booster (XGBoost 0.82).
Model pra-pemrosesan untuk klausa TRANSFORM: TensorFlow SavedModel (TF 2.5 atau yang lebih tinggi) |
gcs_bucket/
|
Model tidak berisi informasi tentang rekayasa fitur yang dilakukan di luar klausa TRANSFORM
selama pelatihan. Misalnya, apa pun dalam pernyataan SELECT
. Jadi, Anda harus mengonversi data input secara manual sebelum memasukkannya ke model pra-pemrosesan.
Jenis data yang didukung
Saat mengekspor model yang dilatih dengan klausa TRANSFORM
, jenis data berikut didukung untuk dimasukkan ke klausa TRANSFORM
.
Jenis input TRANSFORM | Contoh input TRANSFORM | Contoh input model pra-pemrosesan yang diekspor |
---|---|---|
INT64 |
10,
|
tf.constant(
|
NUMERIC |
NUMERIC 10,
|
tf.constant(
|
BIGNUMERIC |
BIGNUMERIC 10,
|
tf.constant(
|
FLOAT64 |
10.0,
|
tf.constant(
|
BOOL |
TRUE,
|
tf.constant(
|
STRING |
'abc',
|
tf.constant(
|
BYTES |
b'abc',
|
tf.constant(
|
DATE |
DATE '2020-09-27',
|
tf.constant(
|
DATETIME |
DATETIME '2023-02-02 02:02:01.152903',
|
tf.constant(
|
TIME |
TIME '16:32:36.152903',
|
tf.constant(
|
TIMESTAMP |
TIMESTAMP '2017-02-28 12:30:30.45-08',
|
tf.constant(
|
ARRAY |
['a', 'b'],
|
tf.constant(
|
ARRAY< STRUCT< INT64, FLOAT64>> |
[(1, 1.0), (2, 1.0)],
|
tf.sparse.from_dense(
|
NULL |
NULL,
|
tf.constant(
|
Fungsi SQL yang didukung
Saat mengekspor model yang dilatih dengan klausa TRANSFORM
, Anda dapat menggunakan fungsi SQL berikut di dalam klausa TRANSFORM
.
- Operator
+
,-
,*
,/
,=
,<
,>
,<=
,>=
,!=
,<>
,[NOT] BETWEEN
,[NOT] IN
,IS [NOT] NULL
,IS [NOT] TRUE
,IS [NOT] FALSE
,NOT
,AND
,OR
.
- Ekspresi bersyarat
CASE expr
,CASE
,COALESCE
,IF
,IFNULL
,NULLIF
.
- Fungsi matematika
ABS
,ACOS
,ACOSH
,ASINH
,ATAN
,ATAN2
,ATANH
,CBRT
,CEIL
,CEILING
,COS
,COSH
,COT
,COTH
,CSC
,CSCH
,EXP
,FLOOR
,IS_INF
,IS_NAN
,LN
,LOG
,LOG10
,MOD
,POW
,POWER
,SEC
,SECH
,SIGN
,SIN
,SINH
,SQRT
,TAN
,TANH
.
- Fungsi konversi
CAST AS INT64
,CAST AS FLOAT64
,CAST AS NUMERIC
,CAST AS BIGNUMERIC
,CAST AS STRING
,SAFE_CAST AS INT64
,SAFE_CAST AS FLOAT64
- Fungsi string
CONCAT
,LEFT
,LENGTH
,LOWER
,REGEXP_REPLACE
,RIGHT
,SPLIT
,SUBSTR
,SUBSTRING
,TRIM
,UPPER
.
- Fungsi tanggal
Date
,DATE_ADD
,DATE_SUB
,DATE_DIFF
,DATE_TRUNC
,EXTRACT
,FORMAT_DATE
,PARSE_DATE
,SAFE.PARSE_DATE
.
- Fungsi tanggal dan waktu
DATETIME
,DATETIME_ADD
,DATETIME_SUB
,DATETIME_DIFF
,DATETIME_TRUNC
,EXTRACT
,PARSE_DATETIME
,SAFE.PARSE_DATETIME
.
- Fungsi waktu
TIME
,TIME_ADD
,TIME_SUB
,TIME_DIFF
,TIME_TRUNC
,EXTRACT
,FORMAT_TIME
,PARSE_TIME
,SAFE.PARSE_TIME
.
- Fungsi stempel waktu
TIMESTAMP
,TIMESTAMP_ADD
,TIMESTAMP_SUB
,TIMESTAMP_DIFF
,TIMESTAMP_TRUNC
,FORMAT_TIMESTAMP
,PARSE_TIMESTAMP
,SAFE.PARSE_TIMESTAMP
,TIMESTAMP_MICROS
,TIMESTAMP_MILLIS
,TIMESTAMP_SECONDS
,EXTRACT
,STRING
,UNIX_MICROS
,UNIX_MILLIS
,UNIX_SECONDS
.
- Fungsi pra-pemrosesan manual
ML.IMPUTER
,ML.HASH_BUCKETIZE
,ML.LABEL_ENCODER
,ML.MULTI_HOT_ENCODER
,ML.NGRAMS
,ML.ONE_HOT_ENCODER
,ML.BUCKETIZE
,ML.MAX_ABS_SCALER
,ML.MIN_MAX_SCALER
,ML.NORMALIZER
,ML.QUANTILE_BUCKETIZE
,ML.ROBUST_SCALER
,ML.STANDARD_SCALER
.
Batasan
Batasan berikut berlaku saat mengekspor model:
Ekspor model tidak didukung jika salah satu fitur berikut digunakan selama pelatihan:
- Jenis fitur
ARRAY
,TIMESTAMP
, atauGEOGRAPHY
ada dalam data input.
- Jenis fitur
Model yang diekspor untuk jenis model
AUTOML_REGRESSOR
danAUTOML_CLASSIFIER
tidak mendukung deployment Vertex AI untuk prediksi online.Batas ukuran model adalah 1 GB untuk ekspor model faktorisasi matriks. Ukuran model kurang lebih sebanding dengan
num_factors
, jadi Anda dapat menguranginum_factors
selama pelatihan untuk memperkecil ukuran model jika mencapai batas.Untuk model yang dilatih dengan klausa
TRANSFORM
BigQuery ML untuk pra-pemrosesan fitur manual, lihat jenis data dan fungsi yang didukung untuk ekspor.Model yang dilatih dengan klausa
TRANSFORM
BigQuery ML sebelum 18 September 2023 harus dilatih ulang agar dapat di-deploy melalui Registry Model untuk prediksi online.Selama ekspor model,
ARRAY<STRUCT<INT64, FLOAT64>>
,ARRAY
, danTIMESTAMP
didukung sebagai data pra-transformasi, tetapi tidak didukung sebagai data pasca-transformasi.
Mengekspor model BigQuery ML
Untuk mengekspor model:
Konsol
Buka halaman BigQuery di Konsol Google Cloud.
Di panel navigasi, di bagian Resource, luaskan project Anda dan klik set data untuk meluaskannya. Temukan dan klik model yang ingin diekspor.
Di sisi kanan jendela, klik Export Model.
Pada dialog Ekspor model ke Cloud Storage:
- Untuk Select Cloud Storage location, cari lokasi bucket atau folder tempat Anda ingin mengekspor model.
- Klik Export untuk mengekspor model.
Untuk memeriksa progres tugas, lihat di dekat bagian atas navigasi untuk Job history untuk tugas Export.
SQL
Dengan pernyataan EXPORT MODEL
, Anda dapat mengekspor model BigQuery ML ke Cloud Storage menggunakan sintaksis kueri GoogleSQL.
Untuk mengekspor model BigQuery ML di Konsol Google Cloud menggunakan pernyataan EXPORT MODEL
, ikuti langkah-langkah berikut:
Di Konsol Google Cloud, buka halaman BigQuery.
Klik Compose new query.
Di kolom Query editor, ketik pernyataan
EXPORT MODEL
Anda.Kueri berikut mengekspor model bernama
myproject.mydataset.mymodel
ke bucket Cloud Storage dengan URIgs://bucket/path/to/saved_model/
.EXPORT MODEL `myproject.mydataset.mymodel` OPTIONS(URI = 'gs://bucket/path/to/saved_model/')
Klik Run. Setelah kueri selesai, berikut akan muncul dalam panel Query results:
Successfully exported model
.
bq
Gunakan perintah bq extract
dengan flag --model
.
(Opsional) Berikan flag --destination_format
dan pilih format model yang diekspor.
(Opsional) Berikan flag --location
dan tetapkan nilainya ke lokasi Anda.
bq --location=location extract \ --destination_format format \ --model project_id:dataset.model \ gs://bucket/model_folder
Di mana:
- location adalah nama lokasi Anda. Flag
--location
bersifat opsional. Misalnya, jika menggunakan BigQuery di region Tokyo, Anda dapat menetapkan nilai flag keasia-northeast1
. Anda dapat menetapkan nilai default untuk lokasi menggunakan file .bigqueryrc. - destination_format adalah format untuk model yang diekspor:
ML_TF_SAVED_MODEL
(default), atauML_XGBOOST_BOOSTER
. - project_id adalah project ID Anda.
- dataset adalah nama set data sumber.
- model adalah model yang Anda ekspor.
- bucket adalah nama bucket Cloud Storage tempat Anda mengekspor data. Set data BigQuery dan bucket Cloud Storage harus berada di lokasi yang sama.
- model_folder adalah nama folder tempat file model yang diekspor akan ditulis.
Contoh:
Misalnya, perintah berikut mengekspor mydataset.mymodel
dalam format TensorFlow SavedModel ke bucket Cloud Storage bernama mymodel_folder
.
bq extract --model \ 'mydataset.mymodel' \ gs://example-bucket/mymodel_folder
Nilai default destination_format adalah ML_TF_SAVED_MODEL
.
Perintah berikut mengekspor mydataset.mymodel
dalam format XGBoost Booster ke bucket Cloud Storage bernama mymodel_folder
.
bq extract --model \ --destination_format ML_XGBOOST_BOOSTER \ 'mydataset.mytable' \ gs://example-bucket/mymodel_folder
API
Untuk mengekspor model, buat tugas extract
dan isi konfigurasi tugas.
(Opsional) Tentukan lokasi Anda di properti location
di bagian jobReference
di resource tugas.
Buat tugas ekstrak yang mengarah ke model BigQuery ML dan tujuan Cloud Storage.
Tentukan model sumber menggunakan objek konfigurasi
sourceModel
yang berisi project ID, ID set data, dan ID model.Properti
destination URI(s)
harus sepenuhnya memenuhi syarat, dalam format gs://bucket/model_folder.Tentukan format tujuan dengan menyetel properti
configuration.extract.destinationFormat
. Misalnya, untuk mengekspor model hierarki yang ditingkatkan, tetapkan properti ini ke nilaiML_XGBOOST_BOOSTER
.Untuk memeriksa status tugas, panggil jobs.get(job_id) dengan ID tugas yang ditampilkan oleh permintaan awal.
- Jika
status.state = DONE
, tugas berhasil diselesaikan. - Jika properti
status.errorResult
ada, permintaan gagal, dan objek tersebut akan menyertakan informasi yang menjelaskan penyebabnya. - Jika
status.errorResult
tidak ada, tugas berhasil diselesaikan, meskipun mungkin ada beberapa error non-fatal. Error non-fatal tercantum dalam propertistatus.errors
objek tugas yang ditampilkan.
- Jika
Catatan API:
Sebagai praktik terbaik, buat ID unik dan teruskan sebagai
jobReference.jobId
saat memanggiljobs.insert
untuk membuat tugas. Pendekatan ini lebih andal untuk kegagalan jaringan karena klien dapat melakukan polling atau mencoba lagi pada ID tugas yang diketahui.Memanggil
jobs.insert
pada ID pekerjaan tertentu bersifat idempoten. Dengan kata lain, Anda dapat mencoba sebanyak yang Anda inginkan pada ID tugas yang sama, dan maksimal satu dari operasi tersebut akan berhasil.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Deployment model
Anda dapat men-deploy model yang diekspor ke Vertex AI serta secara lokal. Jika klausa TRANSFORM
model berisi fungsi Tanggal, fungsi Tanggal Waktu, fungsi Waktu, atau fungsi Stempel Waktu, Anda harus menggunakan library bigquery-ml-utils ke dalam container. Pengecualiannya adalah jika Anda men-deploy melalui Model Registry, yang tidak memerlukan model yang diekspor atau container penayangan.
Deployment Vertex AI
Mengekspor format model | Deployment |
---|---|
TensorFlow SavedModel (model non-AutoML) | Deploy TensorFlow SavedModel. Anda harus membuat file SavedModel menggunakan versi yang didukung dari TensorFlow. |
TensorFlow SavedModel (model AutoML) | Tidak didukung. |
XGBoost Booster |
Gunakan rutinitas prediksi kustom. Untuk model XGBoost Booster, informasi pra-pemrosesan dan pasca-pemrosesan disimpan dalam file yang diekspor, dan rutinitas prediksi kustom memungkinkan Anda men-deploy model dengan file tambahan yang diekspor.
Anda harus membuat file model menggunakan versi XGBoost yang didukung. |
Deployment lokal
Mengekspor format model | Deployment |
---|---|
TensorFlow SavedModel (model non-AutoML) |
SavedModel adalah format standar, dan Anda dapat men-deploy-nya di container docker TensorFlow Serving. Anda juga dapat memanfaatkan operasi lokal pada prediksi online Vertex AI. |
TensorFlow SavedModel (model AutoML) | Mengemas dan menjalankan model. |
XGBoost Booster |
Untuk menjalankan model XGBoost Booster secara lokal, Anda dapat menggunakan file main.py yang diekspor:
|
Format output prediksi
Bagian ini menampilkan format output prediksi dari model yang diekspor untuk setiap jenis model. Semua model yang diekspor mendukung prediksi batch; model ini dapat menangani beberapa baris input sekaligus. Misalnya, ada dua baris input di setiap contoh format output berikut.
AUTOENCODER
Format output prediksi | Contoh output |
---|---|
+------------------------+------------------------+------------------------+ | LATENT_COL_1 | LATENT_COL_2 | ... | +------------------------+------------------------+------------------------+ | [FLOAT] | [FLOAT] | ... | +------------------------+------------------------+------------------------+ |
+------------------+------------------+------------------+------------------+ | LATENT_COL_1 | LATENT_COL_2 | LATENT_COL_3 | LATENT_COL_4 | +------------------------+------------+------------------+------------------+ | 0.21384512 | 0.93457112 | 0.64978097 | 0.00480489 | +------------------+------------------+------------------+------------------+ |
AUTOML_CLASSIFIER
Format output prediksi | Contoh output |
---|---|
+------------------------------------------+ | predictions | +------------------------------------------+ | [{"scores":[FLOAT], "classes":[STRING]}] | +------------------------------------------+ |
+---------------------------------------------+ | predictions | +---------------------------------------------+ | [{"scores":[1, 2], "classes":['a', 'b']}, | | {"scores":[3, 0.2], "classes":['a', 'b']}] | +---------------------------------------------+ |
AUTOML_REGRESSOR
Format output prediksi | Contoh output |
---|---|
+-----------------+ | predictions | +-----------------+ | [FLOAT] | +-----------------+ |
+-----------------+ | predictions | +-----------------+ | [1.8, 2.46] | +-----------------+ |
BOOSTED_TREE_CLASSIFIER dan RANDOM_FOREST_CLASSIFIER
Format output prediksi | Contoh output |
---|---|
+-------------+--------------+-----------------+ | LABEL_PROBS | LABEL_VALUES | PREDICTED_LABEL | +-------------+--------------+-----------------+ | [FLOAT] | [STRING] | STRING | +-------------+--------------+-----------------+ |
+-------------+--------------+-----------------+ | LABEL_PROBS | LABEL_VALUES | PREDICTED_LABEL | +-------------+--------------+-----------------+ | [0.1, 0.9] | ['a', 'b'] | ['b'] | +-------------+--------------+-----------------+ | [0.8, 0.2] | ['a', 'b'] | ['a'] | +-------------+--------------+-----------------+ |
BOOSTED_TREE_REGRESSOR DAN RANDOM_FOREST_REGRESSOR
Format output prediksi | Contoh output |
---|---|
+-----------------+ | predicted_label | +-----------------+ | FLOAT | +-----------------+ |
+-----------------+ | predicted_label | +-----------------+ | [1.8] | +-----------------+ | [2.46] | +-----------------+ |
DNN_CLASSIFIER
Format output prediksi | Contoh output |
---|---|
+---------------+-------------+-----------+---------+------------------------+--------+---------------+ | ALL_CLASS_IDS | ALL_CLASSES | CLASS_IDS | CLASSES | LOGISTIC (binary only) | LOGITS | PROBABILITIES | +---------------+-------------+-----------+---------+------------------------+--------+---------------+ | [INT64] | [STRING] | INT64 | STRING | FLOAT | [FLOAT]| [FLOAT] | +---------------+-------------+-----------+---------+------------------------+--------+---------------+ |
+---------------+-------------+-----------+---------+------------------------+--------+---------------+ | ALL_CLASS_IDS | ALL_CLASSES | CLASS_IDS | CLASSES | LOGISTIC (binary only) | LOGITS | PROBABILITIES | +---------------+-------------+-----------+---------+------------------------+--------+---------------+ | [0, 1] | ['a', 'b'] | [0] | ['a'] | [0.36] | [-0.53]| [0.64, 0.36] | +---------------+-------------+-----------+---------+------------------------+--------+---------------+ | [0, 1] | ['a', 'b'] | [0] | ['a'] | [0.2] | [-1.38]| [0.8, 0.2] | +---------------+-------------+-----------+---------+------------------------+--------+---------------+ |
DNN_REGRESSOR
Format output prediksi | Contoh output |
---|---|
+-----------------+ | PREDICTED_LABEL | +-----------------+ | FLOAT | +-----------------+ |
+-----------------+ | PREDICTED_LABEL | +-----------------+ | [1.8] | +-----------------+ | [2.46] | +-----------------+ |
DNN_LINEAR_COMBINED_CLASSIFIER
Format output prediksi | Contoh output |
---|---|
+---------------+-------------+-----------+---------+------------------------+--------+---------------+ | ALL_CLASS_IDS | ALL_CLASSES | CLASS_IDS | CLASSES | LOGISTIC (binary only) | LOGITS | PROBABILITIES | +---------------+-------------+-----------+---------+------------------------+--------+---------------+ | [INT64] | [STRING] | INT64 | STRING | FLOAT | [FLOAT]| [FLOAT] | +---------------+-------------+-----------+---------+------------------------+--------+---------------+ |
+---------------+-------------+-----------+---------+------------------------+--------+---------------+ | ALL_CLASS_IDS | ALL_CLASSES | CLASS_IDS | CLASSES | LOGISTIC (binary only) | LOGITS | PROBABILITIES | +---------------+-------------+-----------+---------+------------------------+--------+---------------+ | [0, 1] | ['a', 'b'] | [0] | ['a'] | [0.36] | [-0.53]| [0.64, 0.36] | +---------------+-------------+-----------+---------+------------------------+--------+---------------+ | [0, 1] | ['a', 'b'] | [0] | ['a'] | [0.2] | [-1.38]| [0.8, 0.2] | +---------------+-------------+-----------+---------+------------------------+--------+---------------+ |
DNN_LINEAR_COMBINED_REGRESSOR
Format output prediksi | Contoh output |
---|---|
+-----------------+ | PREDICTED_LABEL | +-----------------+ | FLOAT | +-----------------+ |
+-----------------+ | PREDICTED_LABEL | +-----------------+ | [1.8] | +-----------------+ | [2.46] | +-----------------+ |
KMEANS
Format output prediksi | Contoh output |
---|---|
+--------------------+--------------+---------------------+ | CENTROID_DISTANCES | CENTROID_IDS | NEAREST_CENTROID_ID | +--------------------+--------------+---------------------+ | [FLOAT] | [INT64] | INT64 | +--------------------+--------------+---------------------+ |
+--------------------+--------------+---------------------+ | CENTROID_DISTANCES | CENTROID_IDS | NEAREST_CENTROID_ID | +--------------------+--------------+---------------------+ | [1.2, 1.3] | [1, 2] | [1] | +--------------------+--------------+---------------------+ | [0.4, 0.1] | [1, 2] | [2] | +--------------------+--------------+---------------------+ |
LINEAR_REG
Format output prediksi | Contoh output |
---|---|
+-----------------+ | PREDICTED_LABEL | +-----------------+ | FLOAT | +-----------------+ |
+-----------------+ | PREDICTED_LABEL | +-----------------+ | [1.8] | +-----------------+ | [2.46] | +-----------------+ |
LOGISTIC_REG
Format output prediksi | Contoh output |
---|---|
+-------------+--------------+-----------------+ | LABEL_PROBS | LABEL_VALUES | PREDICTED_LABEL | +-------------+--------------+-----------------+ | [FLOAT] | [STRING] | STRING | +-------------+--------------+-----------------+ |
+-------------+--------------+-----------------+ | LABEL_PROBS | LABEL_VALUES | PREDICTED_LABEL | +-------------+--------------+-----------------+ | [0.1, 0.9] | ['a', 'b'] | ['b'] | +-------------+--------------+-----------------+ | [0.8, 0.2] | ['a', 'b'] | ['a'] | +-------------+--------------+-----------------+ |
MATRIX_FACTORIZATION
Catatan: Saat ini, kami hanya mendukung pengambilan pengguna input 50 pasangan (predicted_rating, predicted_item) teratas pengguna output yang diurutkan berdasarkan predicted_rating dalam urutan menurun.
Format output prediksi | Contoh output |
---|---|
+--------------------+--------------+ | PREDICTED_RATING | PREDICTED_ITEM | +------------------+----------------+ | [FLOAT] | [STRING] | +------------------+----------------+ |
+--------------------+--------------+ | PREDICTED_RATING | PREDICTED_ITEM | +------------------+----------------+ | [5.5, 1.7] | ['A', 'B'] | +------------------+----------------+ | [7.2, 2.7] | ['B', 'A'] | +------------------+----------------+ |
TENSORFLOW (diimpor)
Format output prediksi |
---|
Sama seperti model yang diimpor |
PCA
Format output prediksi | Contoh output |
---|---|
+-------------------------+---------------------------------+ | PRINCIPAL_COMPONENT_IDS | PRINCIPAL_COMPONENT_PROJECTIONS | +-------------------------+---------------------------------+ | [INT64] | [FLOAT] | +-------------------------+---------------------------------+ |
+-------------------------+---------------------------------+ | PRINCIPAL_COMPONENT_IDS | PRINCIPAL_COMPONENT_PROJECTIONS | +-------------------------+---------------------------------+ | [1, 2] | [1.2, 5.0] | +-------------------------+---------------------------------+ |
TRANSFORM_ONLY
Format output prediksi |
---|
Sama dengan kolom yang ditentukan dalam klausa TRANSFORM
model
|
Visualisasi model XGBoost
Anda dapat memvisualisasikan hierarki yang dikuatkan menggunakan Python API plot_tree setelah ekspor model. Misalnya, Anda dapat memanfaatkan Colab tanpa menginstal dependensi:
- Mengekspor model pohon yang dikuatkan ke bucket Cloud Storage.
- Download file
model.bst
dari bucket Cloud Storage. - Di notebook Colab, upload file
model.bst
keFiles
. Jalankan kode berikut di notebook:
import xgboost as xgb import matplotlib.pyplot as plt model = xgb.Booster(model_file="model.bst") num_iterations = <iteration_number> for tree_num in range(num_iterations): xgb.plot_tree(model, num_trees=tree_num) plt.show
Contoh ini memetakan beberapa pohon (satu pohon per iterasi):
Saat ini, kami tidak menyimpan nama fitur dalam model, sehingga Anda akan melihat nama seperti "f0", "f1", dan seterusnya. Anda dapat menemukan nama fitur yang sesuai dalam file assets/model_metadata.json
yang diekspor menggunakan nama ini (seperti "f0") sebagai indeks.
Izin yang diperlukan
Untuk mengekspor model BigQuery ML ke Cloud Storage, Anda memerlukan izin untuk mengakses model BigQuery ML, izin untuk menjalankan tugas ekspor, dan izin untuk menulis data ke bucket Cloud Storage.
Izin BigQuery
Setidaknya, untuk mengekspor model, Anda harus diberi izin
bigquery.models.export
. Peran Identity and Access Management (IAM) bawaan berikut diberi izinbigquery.models.export
:bigquery.dataViewer
bigquery.dataOwner
bigquery.dataEditor
bigquery.admin
Setidaknya, untuk menjalankan tugas ekspor, Anda harus diberi izin
bigquery.jobs.create
. Peran IAM bawaan berikut diberi izinbigquery.jobs.create
:bigquery.user
bigquery.jobUser
bigquery.admin
Izin Cloud Storage
Untuk menulis data ke bucket Cloud Storage yang sudah ada, Anda harus diberi izin
storage.objects.create
. Peran IAM bawaan berikut diberi izinstorage.objects.create
:storage.objectCreator
storage.objectAdmin
storage.admin
Untuk informasi selengkapnya tentang peran dan izin IAM dalam BigQuery ML, lihat Kontrol akses.
Pertimbangan lokasi
Saat Anda memilih lokasi untuk data Anda, pertimbangkan hal berikut:
- Lakukan kolokasi pada bucket Cloud Storage Anda untuk mengekspor data:
- Jika set data BigQuery Anda berada di multi-region
EU
, bucket Cloud Storage yang berisi data yang Anda ekspor harus berada di multi-region yang sama atau di lokasi yang terdapat dalam multi-region. Misalnya, jika set data BigQuery Anda berada di multi-regionEU
, bucket Cloud Storage dapat berada di region Belgiaeurope-west1
, yang berada di Uni Eropa.Jika set data Anda berada di multi-region
US
, Anda dapat mengekspor data ke bucket Cloud Storage di lokasi mana pun. - Jika set data Anda berada di suatu region, bucket Cloud Storage Anda harus berada di region yang sama. Misalnya, jika set data Anda berada di region Tokyo
asia-northeast1
, bucket Cloud Storage Anda tidak boleh berada di multi-regionASIA
. - Jika Anda memilih resource penyimpanan regional seperti set data BigQuery atau bucket Cloud Storage, kembangkan rencana untuk mengelola data Anda secara geografis.
Untuk informasi selengkapnya tentang lokasi Cloud Storage, lihat Lokasi Bucket dalam dokumentasi Cloud Storage.
Memindahkan data BigQuery antarlokasi
Anda tidak dapat mengubah lokasi set data setelah dibuat, tetapi Anda dapat membuat salinan set data.
Kebijakan kuota
Untuk informasi mengenai kuota tugas ekspor, lihat Tugas ekspor di halaman Kuota dan batas.
Harga
Mengekspor model BigQuery ML tidak dikenai biaya, tetapi ekspor tunduk pada Kuota dan batas BigQuery. Untuk informasi selengkapnya tentang harga BigQuery, lihat halaman Harga.
Setelah data diekspor, Anda dikenai biaya penyimpanan data di Cloud Storage. Untuk informasi selengkapnya tentang harga Cloud Storage, lihat halaman Harga Cloud Storage.
Langkah berikutnya
- Ikuti tutorial Mengekspor model BigQuery ML untuk prediksi online.