BigQuery Machine Learning (BigQuery ML) dapat digunakan untuk membuat dan menjalankan model machine learning di BigQuery menggunakan kueri SQL. Tujuannya adalah untuk membuat machine learning tersedia lebih luas dengan memungkinkan praktisi SQL membuat model menggunakan alat yang sudah ada, dan untuk meningkatkan kecepatan pengembangan dengan meniadakan kebutuhan akan pemindahan data.
Ada set data e-commerce yang memiliki jutaan kumpulan data Google Analytics untuk Google Merchandise Store yang dimuat ke BigQuery. Di lab ini, Anda akan menggunakan data tersebut untuk membuat model yang akan memprediksi apakah pengunjung akan melakukan transaksi atau tidak.
Yang akan Anda pelajari
Cara membuat, mengevaluasi, dan menggunakan model machine learning di BigQuery
Untuk setiap lab, Anda akan memperoleh project Google Cloud baru serta serangkaian resource selama jangka waktu tertentu, tanpa biaya.
Login ke Qwiklabs menggunakan jendela samaran.
Perhatikan waktu akses lab (misalnya, 1:15:00), dan pastikan Anda dapat menyelesaikannya dalam waktu tersebut.
Tidak ada fitur jeda. Bila perlu, Anda dapat memulai ulang lab, tetapi Anda harus memulai dari awal.
Jika sudah siap, klik Start lab.
Catat kredensial lab (Nama pengguna dan Sandi) Anda. Anda akan menggunakannya untuk login ke Google Cloud Console.
Klik Open Google Console.
Klik Use another account, lalu salin/tempel kredensial lab ini ke perintah yang muncul.
Jika menggunakan kredensial lain, Anda akan menerima pesan error atau dikenai biaya.
Setujui ketentuan dan lewati halaman resource pemulihan.
Membuka Konsol BigQuery
Di Konsol Google Cloud, pilih Navigation menu > BigQuery.
Kotak pesan Welcome to BigQuery in the Cloud Console akan terbuka. Kotak pesan ini menyediakan link ke panduan memulai dan membuat daftar update UI.
Klik Selesai.
Tugas 1. Menjelajahi data
Dalam tugas ini, Anda akan menjelajahi dan menyiapkan set data publik untuk model machine learning. Anda akan menjalankan kueri SQL untuk memeriksa sampel data Google Analytics dan menyimpan hasilnya sebagai training_data.
Data yang akan kita gunakan di lab ini berada di project bigquery-public-data yang tersedia untuk semua pengguna. Mari kita lihat contoh data ini.
Untuk memverifikasi keberadaan set data bqml_lab, klik panah di sebelah kiri Project_ID Anda yang diawali dengan qwiklabs-gcp-00-XXXXXXXXXX. Set data bqml_lab akan tercantum di bawahnya.
Klik untuk membuat Kueri SQL baru. Sebuah tab baru akan ditampilkan di BigQuery Studio.
Menjelaskan kueri
Tambahkan kueri ke kotak Untitled query.
SELECT
IF(totals.transactions IS NULL, 0, 1) AS label,
IFNULL(device.operatingSystem, "") AS os,
device.isMobile AS is_mobile,
IFNULL(geoNetwork.country, "") AS country,
IFNULL(totals.pageviews, 0) AS pageviews
FROM
`bigquery-public-data.google_analytics_sample.ga_sessions_*`
WHERE
_TABLE_SUFFIX BETWEEN '20160801' AND '20170631'
LIMIT 10000;
Pilih kueri tersebut.
Klik tombol Gemini Code Assist yang berada tepat di sebelah kiri kueri.
Klik Explain this query.
Dialog untuk Gemini akan terbuka di bagian kanan BigQuery Studio.
Pesan Welcome to Gemini in Cloud Console akan ditampilkan di panel Gemini. Klik Start Chatting. Penjelasan kueri, seperti terlihat di bawah, akan muncul di jendela percakapan.
Catatan: Jika tidak ada penjelasan yang muncul di jendela chat, klik Explain this query lagi setelah memilih seluruh kueri.
Pelajari penjelasan tersebut.
Catatan: Sebagai alat generatif, respons dari Gemini Code Assist akan sedikit berbeda setiap kali, tetapi poin utamanya akan serupa.
Gemini akan menampilkan respons yang mirip dengan contoh berikut:
This GoogleSQL query is designed to extract a sample of Google Analytics session data and transform it into a format suitable for machine learning or analytical purposes.
Klik Run.
Klik Save, lalu pilih Save view.
Dalam kotak dialog Save view, klik Dataset, lalu pilih bqml_lab.
Untuk Table, ketik training_data, lalu klik Save.
Klik Periksa progres saya untuk memverifikasi tujuan.
Membuat tabel tampilan.
Tugas 2. Membuat model
Dalam tugas ini, Anda akan membuat model machine learning baru untuk memprediksi transaksi pengunjung menggunakan perintah bahasa alami kueri SQL di BigQuery. Anda akan menentukan jenis model regresi logistik dan melatihnya menggunakan training_data yang ada.
Klik untuk membuat Kueri SQL baru. Sebuah tab baru akan ditampilkan di BigQuery Studio.
Klik untuk mengakses alat pembuat kode SQL. Dialog Generate SQL with Gemini akan ditampilkan. Anda dapat memasukkan perintah bahasa alami di jendela ini untuk membuat pernyataan SQL baru.
Salin dan tempel perintah di bawah
Create a model name sample_model, type logistic_reg to predict whether a visitor will make a transaction using the training_data view table.
Klik Generate. Gemini akan menyarankan kueri SQL yang mirip dengan contoh di bawah.
CREATE MODEL
`{{{project_0.project_id|set at lab start}}}`.`bqml_lab`.`sample_model` OPTIONS ( model_type = 'LOGISTIC_REG',
input_label_cols = ['label']) AS
SELECT
label,
os,
is_mobile,
country,
pageviews
FROM
`{{{project_0.project_id|set at lab start}}}`.`bqml_lab`.`training_data`;
Catatan: Jika kueri yang dibuat menghasilkan pesan error, pertimbangkan untuk menyesuaikan sintaksis kueri atau mengganti seluruh kueri agar cocok dengan contoh yang diberikan.
Klik Insert.
Klik Run.
Dalam hal ini, bqml_lab adalah nama set data, sample_model adalah nama model, training_data adalah data transaksi yang telah kita lihat dalam tugas sebelumnya. Jenis model yang ditentukan adalah regresi logistik program biner.
Menjalankan perintah CREATE MODEL akan membuat Tugas Kueri berjalan secara asinkron, sehingga Anda dapat, misalnya, menutup atau memuat ulang jendela UI BigQuery.
Klik Periksa progres saya untuk memverifikasi tujuan.
Membuat model.
[Opsional] Informasi model & statistik pelatihan
Jika tertarik, Anda bisa mendapatkan informasi model dengan mengklik set data bqml_lab di menu kiri, kemudian mengklik set data sample_model di UI. Di bagian Details, Anda akan menemukan beberapa info model dasar dan opsi pelatihan yang digunakan untuk menghasilkan model. Di bagian Training, Anda akan melihat tabel yang mirip dengan yang berikut:
Tugas 3. Mengevaluasi Model
Dalam tugas ini, Anda akan mengevaluasi performa model machine learning menggunakan fungsi ML.EVALUATE. Model ini memberikan metrik utama yang menunjukkan seberapa akurat model memprediksi transaksi pengunjung.
Klik untuk membuat Kueri SQL baru. Sebuah tab baru akan ditampilkan di BigQuery Studio.
Klik untuk mengakses alat pembuat kode SQL. Dialog Generate SQL with Gemini akan ditampilkan. Anda dapat memasukkan perintah bahasa alami di jendela ini untuk membuat pernyataan SQL baru.
Salin dan tempel perintah di bawah.
Write a query to evaluate the performance of the model `bqml_lab.sample_model` using the `ml.EVALUATE` function.
Klik Generate. Gemini akan menyarankan kueri SQL yang mirip dengan contoh di bawah.
SELECT
*
FROM
ML.EVALUATE( MODEL `{{{project_0.project_id|set at lab start}}}`.`bqml_lab`.`sample_model`,
TABLE `{{{project_0.project_id|set at lab start}}}`.`bqml_lab`.`training_data`);
Catatan: Jika kueri yang dibuat menghasilkan pesan error, pertimbangkan untuk menyesuaikan sintaksis kueri atau mengganti seluruh kueri agar cocok dengan contoh yang diberikan.
Klik Insert.
Klik Run.
Anda akan melihat tabel yang mirip dengan yang berikut:
Tugas 4. Menggunakan model
Dalam tugas ini, Anda akan mempelajari cara menggunakan fungsi ML.PREDICT BigQuery untuk membuat prediksi. Namun, pertama-tama, Anda harus men-debug kueri yang menggunakan fungsi yang salah. Anda akan menggunakan Gemini untuk mengidentifikasi dan memperbaiki error sintaksis sebelum menjalankan kueri untuk memprediksi 10 negara teratas yang melakukan pembelian.
Klik untuk membuat Kueri SQL baru dan jalankan kueri di bawah:
SELECT
IF(totals.transactions IS NULL, 0, 1) AS label,
IFNULL(device.operatingSystem, "") AS os,
device.isMobile AS is_mobile,
IFNULL(geoNetwork.country, "") AS country,
IFNULL(totals.pageviews, 0) AS pageviews,
fullVisitorId
FROM
`bigquery-public-data.google_analytics_sample.ga_sessions_*`
WHERE
_TABLE_SUFFIX BETWEEN '20170701' AND '20170801';
Anda akan menyadari bahwa bagian SELECT dan FROM pada kueri ini mirip dengan yang digunakan untuk menghasilkan data pelatihan. Ada tambahan kolom fullVisitorId yang akan Anda gunakan untuk memprediksi transaksi oleh tiap pengguna. Bagian WHERE mencerminkan perubahan jangka waktu (1 Juli hingga 1 Agustus 2017).
Mari kita simpan data July ini agar dapat digunakan dalam langkah berikutnya untuk membuat prediksi menggunakan model kita.
Klik Save, lalu pilih Save view.
Dalam kotak dialog Save view, klik Dataset, lalu pilih bqml_lab.
Untuk Table, ketik july_data, lalu klik Save.
Memprediksi pembelian berdasarkan negara/region
Dengan kueri ini, Anda akan mencoba memprediksi jumlah transaksi yang dilakukan oleh pengunjung dari tiap negara atau region, mengurutkan hasilnya, dan memilih 10 negara/region dengan pembelian tertinggi:
Klik untuk membuat kueri SQL baru.
Salin dan tempel kueri di bawah.
SELECT
country,
TOTAL(predicted_label) as total_predicted_purchases
FROM
ml.PREDICT(MODEL `bqml_lab.sample_model`, (
SELECT * FROM `bqml_lab.july_data`))
GROUP BY country
ORDER BY total_predicted_purchases DESC
LIMIT 10;
Klik Run. Ternyata kueri tersebut memang tidak dapat dijalankan dan memunculkan error berikut:
Function not found: TOTAL at [3:3]
Men-debug kode dengan Gemini dan error-nya
Klik jendela percakapan Gemini di BigQuery.
Di jendela percakapan, salin dan tempel pertanyaan berikut.
Why am I getting "Function not found: TOTAL at [3:3]" when I run this query?
Tekan <SHIFT><ENTER>, atau <SHIFT><return> jika menggunakan Mac, untuk membuat baris baru di jendela percakapan.
Pilih dan salin kueri tersebut.
Tempel tepat setelah pertanyaan yang Anda ajukan.
Tekan <SHIFT><ENTER>, atau <SHIFT><return> jika menggunakan Mac, untuk membuat baris baru di jendela percakapan.
Salin dan tempel kalimat berikut di bawah:
Please suggest new code to resolve any issues.
Klik Send prompt. Anda akan mendapatkan respons dari Gemini.
Pelajari saran yang diberikan dalam respons. Berdasarkan saran ini, diketahui bahwa TOTAL() bukan fungsi agregasi SQL yang valid di BigQuery.
Saran tersebut menyertakan kueri yang disempurnakan dengan potensi solusi yang mirip dengan hal berikut:
SELECT
country,
SUM(predicted_label) as total_predicted_purchases
FROM
ml.PREDICT(MODEL `bqml_lab.sample_model`, (
SELECT * FROM `bqml_lab.july_data`))
GROUP BY country
ORDER BY total_predicted_purchases DESC
LIMIT 10;
Salin kueri yang telah disempurnakan tersebut.
Klik untuk membuat Kueri SQL baru.
Tempel kueri yang telah disempurnakan di tab Untitled query yang baru.
Klik Run.
Dalam kueri ini, Anda akan menggunakan ml.PREDICT dan bagian BigQuery ML dari kueri akan digabungkan dengan perintah SQL standar. Untuk lab ini, Anda tertarik pada negara dan jumlah pembelian di tiap negara, jadi itulah alasannya menggunakan SELECT, GROUP BY, dan ORDER BY. LIMIT digunakan untuk memastikan Anda hanya mendapatkan 10 hasil teratas.
Anda akan melihat tabel yang mirip dengan yang berikut:
Klik Periksa progres saya untuk memverifikasi tujuan.
Perbaiki error dan ambil 10 pembelian teratas untuk tiap negara.
Tantangan
Memprediksi pembelian per pengguna
Kali ini Anda akan mencoba memprediksi jumlah transaksi yang dilakukan tiap pengunjung, mengurutkan hasilnya, dan memilih 10 pengunjung teratas berdasarkan transaksi.
Mengakhiri lab Anda
Setelah Anda menyelesaikan lab, klik Akhiri Lab. Google Cloud Skills Boost menghapus resource yang telah Anda gunakan dan membersihkan akun.
Anda akan diberi kesempatan untuk menilai pengalaman menggunakan lab. Pilih jumlah bintang yang sesuai, ketik komentar, lalu klik Submit.
Makna jumlah bintang:
1 bintang = Sangat tidak puas
2 bintang = Tidak puas
3 bintang = Netral
4 bintang = Puas
5 bintang = Sangat puas
Anda dapat menutup kotak dialog jika tidak ingin memberikan masukan.
Untuk masukan, saran, atau koreksi, gunakan tab Support.
Hak cipta 2020 Google LLC Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.
Lab membuat project dan resource Google Cloud untuk jangka waktu tertentu
Lab memiliki batas waktu dan tidak memiliki fitur jeda. Jika lab diakhiri, Anda harus memulainya lagi dari awal.
Di kiri atas layar, klik Start lab untuk memulai
Gunakan penjelajahan rahasia
Salin Nama Pengguna dan Sandi yang diberikan untuk lab tersebut
Klik Open console dalam mode pribadi
Login ke Konsol
Login menggunakan kredensial lab Anda. Menggunakan kredensial lain mungkin menyebabkan error atau dikenai biaya.
Setujui persyaratan, dan lewati halaman resource pemulihan
Jangan klik End lab kecuali jika Anda sudah menyelesaikan lab atau ingin mengulanginya, karena tindakan ini akan menghapus pekerjaan Anda dan menghapus project
Konten ini tidak tersedia untuk saat ini
Kami akan memberi tahu Anda melalui email saat konten tersedia
Bagus!
Kami akan menghubungi Anda melalui email saat konten tersedia
Satu lab dalam satu waktu
Konfirmasi untuk mengakhiri semua lab yang ada dan memulai lab ini
Gunakan penjelajahan rahasia untuk menjalankan lab
Gunakan jendela Samaran atau browser pribadi untuk menjalankan lab ini. Langkah ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
Di lab ini, Anda akan mempelajari cara membuat dan mengevaluasi model machine learning dengan BigQuery ML dan menggunakan model tersebut untuk memprediksi perilaku pembelian.