Data Science yang Dibantu AI dengan BigQuery

1. Pengantar

Ringkasan

Di lab ini, Anda akan menjelajahi alur kerja data science multimodal di BigQuery, yang disusun berdasarkan skenario real estat. Anda akan memulai dengan set data mentah listingan rumah dan gambarnya, memperkaya data ini dengan AI untuk mengekstrak fitur visual, membangun model pengelompokan untuk menemukan segmen pasar yang berbeda, dan terakhir, membuat alat penelusuran visual yang canggih menggunakan penyematan vektor.

Anda akan membandingkan alur kerja native SQL ini dengan pendekatan AI generatif modern menggunakan Agen Data Science untuk membuat model pengelompokan berbasis Python secara otomatis dari perintah teks sederhana.

Yang akan Anda pelajari

  • Siapkan set data mentah listingan properti untuk dianalisis melalui rekayasa fitur.
  • Perkaya listingan dengan menggunakan fungsi AI BigQuery untuk menganalisis foto rumah berdasarkan fitur visual utama.
  • Bangun dan evaluasi model K-means dengan BigQuery Machine Learning (BQML) untuk menyegmentasikan properti ke dalam kelompok yang berbeda.
  • Otomatiskan pembuatan model dengan menggunakan Agen Ilmu Data untuk membuat model pengelompokan dengan Python.
  • Buat embedding untuk gambar rumah guna mendukung alat penelusuran visual, yang menemukan rumah serupa dengan kueri teks atau gambar.

Prasyarat

Sebelum memulai lab ini, Anda sebaiknya sudah mengetahui:

  • Pemrograman SQL dan Python dasar.
  • Menjalankan kode Python di notebook Jupyter.

2. Sebelum memulai

Buat Project Google Cloud

  1. Di Konsol Google Cloud, di halaman pemilih project, pilih atau buat project Google Cloud.

Pilih project

  1. Pastikan penagihan diaktifkan untuk project Cloud Anda. Pelajari cara memeriksa apakah penagihan telah diaktifkan pada suatu project.

Mengaktifkan API dengan Cloud Shell

Cloud Shell adalah lingkungan command line yang berjalan di Google Cloud yang telah dilengkapi dengan alat yang diperlukan.

  1. Klik Activate Cloud Shell di bagian atas konsol Google Cloud:

Mengaktifkan Cloud Shell

  1. Setelah terhubung ke Cloud Shell, jalankan perintah ini untuk memverifikasi autentikasi Anda di Cloud Shell:
gcloud auth list
  1. Jalankan perintah berikut untuk mengonfirmasi bahwa project Anda dikonfigurasi untuk digunakan dengan gcloud:
gcloud config list project
  1. Jika project Anda belum ditetapkan, gunakan perintah berikut untuk menetapkannya:
export PROJECT_ID=<YOUR_PROJECT_ID>
gcloud config set project $PROJECT_ID

Mengaktifkan API

  1. Jalankan perintah ini untuk mengaktifkan semua API dan layanan yang diperlukan:
gcloud services enable bigquery.googleapis.com \
                       bigqueryunified.googleapis.com \
                       cloudaicompanion.googleapis.com \
                       aiplatform.googleapis.com
  1. Jika perintah berhasil dieksekusi, Anda akan melihat pesan yang mirip dengan yang ditampilkan di bawah:
Operation "operations/..." finished successfully.
  1. Keluar dari Cloud Shell.

3. Membuka Notebook Lab di BigQuery Studio

  1. Di Konsol Google Cloud, buka Navigation menu > BigQuery.

Tombol panah dropdown

  1. Di panel BigQuery Studio, klik tombol panah dropdown, arahkan kursor ke Notebook, lalu pilih Upload.

Tombol panah dropdown

  1. Pilih tombol pilihan URL, lalu masukkan URL berikut:

https://github.com/GoogleCloudPlatform/generative-ai/blob/main/gemini/use-cases/applying-llms-to-data/ai-assisted-data-science/ai-assisted-data-science.ipynb

  1. Tetapkan region ke us-central1, lalu klik Upload.

Mengupload notebook dari GitHub

  1. Untuk membuka notebook, klik panah dropdown di panel Explorer yang berisi project ID Anda. Kemudian, klik dropdown untuk Notebooks. Klik notebook ai-assisted-data-science.

Buka notebook

  1. (Opsional) Ciutkan menu navigasi BigQuery dan Daftar Isi Notebook untuk mendapatkan lebih banyak ruang.

Menciutkan panel

4. Menghubungkan ke Runtime dan Menjalankan Kode Penyiapan

  1. Klik Hubungkan. Jika pop-up muncul, beri otorisasi Colab Enterprise dengan pengguna Anda. Notebook Anda akan otomatis terhubung ke runtime. Proses ini mungkin memerlukan waktu beberapa menit.

Menghubungkan ke runtime

  1. Setelah runtime ditetapkan, Anda akan melihat hal berikut:

Runtime aktif

  1. Di dalam notebook, scroll ke bagian Setup. Klik tombol "Jalankan" di samping sel tersembunyi. Tindakan ini akan membuat beberapa resource yang diperlukan untuk lab di project Anda. Proses ini mungkin memerlukan waktu satu menit untuk diselesaikan. Sementara itu, Anda dapat memeriksa sel di bagian Penyiapan.

Menjalankan kode penyiapan

5. Persiapan Data dan Rekayasa Fitur

Di bagian ini, Anda akan mempelajari langkah penting pertama dalam project ilmu data: menyiapkan data. Anda akan memulai dengan membuat set data BigQuery untuk mengatur pekerjaan Anda, lalu memuat data mentah real estat / perumahan dari file CSV di Cloud Storage ke dalam tabel baru.

Kemudian, Anda akan mengubah data mentah ini menjadi tabel yang sudah dibersihkan dengan fitur baru. Proses ini melibatkan pemfilteran listingan, pembuatan fitur property_age baru, dan penyiapan data gambar untuk analisis multimodal.

6. Pengayaan Multimodal dengan Fungsi AI

Sekarang Anda akan memperkaya data menggunakan kecanggihan AI generatif. Di bagian ini, Anda akan menggunakan fungsi AI bawaan BigQuery untuk menganalisis gambar setiap listingan rumah.

Dengan menghubungkan BigQuery ke model Gemini, Anda dapat mengekstrak fitur baru yang berharga dari gambar (seperti apakah properti dekat dengan perairan dan deskripsi singkat tentang rumah) langsung dengan SQL.

7. Pelatihan Model dengan Pengelompokan K-Means

Dengan set data yang baru saja diperkaya, Anda siap membuat model machine learning. Tujuan Anda adalah mengelompokkan listingan rumah ke dalam grup yang berbeda, dan Anda melakukannya dengan melatih model pengelompokan K-means langsung di BigQuery menggunakan BigQuery Machine Learning (BQML). Sebagai bagian dari satu langkah ini, Anda juga mendaftarkan model di Vertex AI Model Registry, sehingga model tersebut langsung tersedia dalam ekosistem MLOps yang lebih luas di Google Cloud.

Untuk mengonfirmasi bahwa model Anda berhasil didaftarkan, Anda dapat menemukannya di Vertex AI Model Registry dengan mengikuti langkah-langkah berikut:

  1. Di Konsol Google Cloud, klik Navigation menu (☰) di pojok kiri atas.
  2. Scroll ke bagian Vertex AI, lalu klik Model Registry. Sekarang Anda akan melihat model BQML Anda tercantum bersama semua model kustom Anda yang lain.

Membuka Model Registry

  1. Dalam daftar model, temukan model bernama housing_clustering. Anda dapat melakukan langkah berikutnya untuk Men-deploy ke endpoint, yang akan membuat model Anda tersedia untuk prediksi online real-time di luar lingkungan BigQuery.

Membuka Model Registry

Setelah menjelajahi Registry Model, Anda dapat kembali ke notebook Colab di BigQuery dengan langkah-langkah berikut:

  1. Di Navigation menu (☰), buka BigQuery > Studio.
  2. Luaskan menu di panel Jelajahi untuk menemukan notebook Anda dan membukanya.

8. Evaluasi dan Prediksi Model

Setelah melatih model, langkah berikutnya adalah memahami cluster yang dibuatnya. Di sini, Anda akan menggunakan fungsi BigQuery Machine Learning seperti ML.EVALUATE dan ML.CENTROIDS untuk menganalisis kualitas model dan karakteristik yang menentukan setiap segmen.

Kemudian, Anda menggunakan ML.PREDICT untuk menetapkan setiap rumah ke cluster. Dengan menjalankan kueri ini menggunakan perintah ajaib %%bigquery df, Anda akan menyimpan hasilnya dalam DataFrame pandas bernama df. Hal ini membuat data segera tersedia untuk langkah-langkah Python berikutnya. Hal ini menunjukkan interoperabilitas antara SQL dan Python di Colab Enterprise.

9. Memvisualisasikan dan Menafsirkan Cluster

Setelah prediksi dimuat ke dalam DataFrame, Anda dapat membuat visualisasi untuk membuat data menjadi lebih menarik. Di bagian ini, Anda akan menggunakan library Python populer seperti Matplotlib untuk mempelajari perbedaan antara segmen perumahan.

Anda akan membuat diagram kotak dan diagram batang untuk membandingkan secara visual fitur utama seperti harga dan usia properti, sehingga memudahkan Anda membangun pemahaman intuitif tentang setiap kelompok.

10. Membuat Deskripsi Kelompok dengan Model Gemini

Meskipun sentroid dan diagram numerik sangat efektif, AI generatif memungkinkan Anda melangkah lebih jauh dan membuat persona kualitatif yang kaya untuk setiap segmen perumahan. Hal ini membantu Anda memahami tidak hanya apa kelompoknya, tetapi juga siapa yang diwakilinya.

Di bagian ini, Anda akan menggabungkan terlebih dahulu statistik rata-rata untuk setiap kelompok, seperti harga dan luas bangunan. Kemudian, Anda akan meneruskan data ini ke dalam perintah untuk model Gemini. Kemudian, Anda menginstruksikan model untuk bertindak sebagai profesional real estate dan membuat ringkasan mendetail, termasuk karakteristik utama dan target pembeli untuk setiap segmen. Hasilnya adalah serangkaian deskripsi yang jelas dan dapat dibaca manusia yang membuat kelompok dapat langsung dipahami dan ditindaklanjuti oleh tim pemasaran.

Jangan ragu untuk mengubah perintah sesuai keinginan Anda dan bereksperimen dengan hasilnya.

11. Mengotomatiskan Pemodelan dengan Agen Data Science

Sekarang, Anda akan mempelajari alur kerja alternatif yang canggih. Daripada menulis kode secara manual, Anda akan menggunakan Agen Data Science terintegrasi untuk otomatis membuat alur kerja model pengelompokan lengkap dari satu perintah bahasa natural.

Ikuti langkah-langkah berikut untuk membuat dan menjalankan model menggunakan agen:

  1. Di panel BigQuery Studio, klik tombol panah dropdown, arahkan kursor ke Notebook, lalu pilih Empty Notebook. Tindakan ini memastikan kode agen tidak mengganggu buku catatan lab asli Anda.

Buka notebook baru

  1. Antarmuka chat Data Science Agent akan terbuka di bagian bawah notebook. Klik tombol Pindahkan ke panel untuk menyematkan percakapan ke sisi kanan.

Buka notebook baru

  1. Mulai ketik @listing_multimodal di panel chat dan Klik tabel. Tindakan ini secara eksplisit menetapkan tabel listings_multimodal sebagai konteks.

Menambahkan konteks tabel ke agen

  1. Salin perintah di bawah dan masukkan ke dalam kotak Chat Agen. Setelah itu, klik Kirim untuk mengirimkan perintah ke Agen.
    Use the selected table to generate a k-means clustering model with 3 clusters for housing listings. Then, help me understand the characteristics of each cluster so I can market to them as a real estate professional. Use Python.
    

Memberikan perintah Agen dan mengirimkannya

  1. Agen akan berpikir dan menyusun rencana. Jika Anda setuju dengan rencana ini, klik Terima & Jalankan. Agen akan membuat kode Python di satu atau beberapa sel baru.

Menerima paket Agen

  1. Agen meminta Anda untuk Terima & Jalankan setiap blok kode yang dibuatnya. Hal ini akan tetap melibatkan interaksi manusia. Jangan ragu untuk meninjau atau mengedit kode dan melanjutkan setiap langkah hingga selesai.

Menjalankan kode agen

  1. Setelah selesai, cukup tutup tab notebook baru ini dan kembali ke tab ai-assisted-data-science.ipynb awal untuk melanjutkan bagian akhir lab.

12. Penelusuran Multimodal dengan Embeddings dan Vector Search

Di bagian terakhir ini, Anda akan menerapkan penelusuran multimodal langsung di BigQuery. Hal ini memungkinkan penelusuran yang intuitif, seperti menemukan rumah berdasarkan deskripsi teks atau menemukan rumah yang terlihat mirip dengan contoh gambar.

Proses ini dilakukan dengan terlebih dahulu mengonversi setiap gambar rumah menjadi representasi numerik yang disebut embedding. Embedding menangkap makna semantik gambar, sehingga Anda dapat menemukan item serupa dengan membandingkan vektor numeriknya.

Anda akan menggunakan model multimodalembedding untuk membuat vektor ini bagi semua listingan Anda. Setelah membuat indeks vektor untuk mempercepat pencarian, Anda kemudian melakukan dua jenis penelusuran kesamaan: text-to-image (menemukan rumah yang cocok dengan deskripsi) dan image-to-image (menemukan rumah yang terlihat seperti gambar sampel).

Anda akan menyelesaikan semua ini di BigQuery, menggunakan fungsi seperti ML.GENERATE_EMBEDDING untuk membuat embedding atau VECTOR_SEARCH untuk penelusuran kesamaan.

13. Membersihkan

Untuk membersihkan semua resource Google Cloud yang digunakan dalam project ini, Anda dapat menghapus project Google Cloud.

Atau, Anda dapat menghapus setiap resource yang Anda buat dengan menjalankan kode berikut di sel baru di notebook Anda:

# Delete the BigQuery tables
!bq rm --table -f housing_dataset.listings
!bq rm --table -f housing_dataset.listings_multimodal
!bq rm --table -f housing_dataset.home_embeddings

# Delete the remote model
!bq rm --model -f housing_dataset.gemini
!bq rm --model -f housing_dataset.kmeans_clustering_model
!bq rm --model -f housing_dataset.multimodal_embedding_model

# Delete the remote connection
!bq rm --connection --project_id=$PROJECT_ID --location=us ai_connection

# Delete the BigQuery dataset
!bq rm -r -f $PROJECT_ID:housing_dataset

Terakhir, Anda dapat menghapus notebook itu sendiri:

  1. Di panel Explorer BigQuery Studio, luaskan project Anda dan node Notebooks.
  2. Klik tiga titik vertikal di samping notebook ai-assisted-data-science.
  3. Pilih Hapus.

14. Selamat!

Selamat, Anda telah menyelesaikan Codelab ini.

Yang telah kita bahas

  • Siapkan set data mentah listingan properti untuk dianalisis melalui rekayasa fitur.
  • Perkaya listingan dengan menggunakan fungsi AI BigQuery untuk menganalisis foto rumah berdasarkan fitur visual utama.
  • Buat dan evaluasi model K-means dengan BigQuery Machine Learning (BQML) untuk menyegmentasikan properti ke dalam kelompok yang berbeda.
  • Otomatiskan pembuatan model dengan menggunakan Agen Ilmu Data untuk membuat model pengelompokan dengan Python.
  • Buat embedding untuk gambar rumah guna mendukung alat penelusuran visual, yang menemukan rumah serupa dengan kueri teks atau gambar.