1. Giriş
Genel Bakış
Bu laboratuvarda, BigQuery'de çok formatlı bir veri bilimi iş akışını keşfedeceksiniz. Bu iş akışı, emlak senaryosu üzerine kuruludur. Öncelikle ev listelemelerinin ve resimlerinin bulunduğu ham bir veri kümesiyle başlayacak, görsel özellikleri çıkarmak için bu verileri yapay zekayla zenginleştirecek, farklı pazar segmentlerini keşfetmek için bir kümeleme modeli oluşturacak ve son olarak vektör yerleştirmelerini kullanarak güçlü bir görsel arama aracı oluşturacaksınız.
Bu SQL tabanlı iş akışını, basit bir metin isteminden otomatik olarak Python tabanlı bir kümeleme modeli oluşturmak için Veri Bilimi Aracısı'nı kullanarak modern ve üretken yapay zeka yaklaşımıyla karşılaştıracaksınız.
Neler öğreneceksiniz?
- Özellik mühendisliği aracılığıyla analiz için emlak listelemelerinin işlenmemiş bir veri kümesini hazırlayın.
- BigQuery'nin yapay zeka işlevlerini kullanarak ev fotoğraflarını temel görsel özellikler açısından analiz ederek listelemeleri zenginleştirin.
- Mülkleri farklı kümeler halinde segmentlere ayırmak için BigQuery Machine Learning (BQML) ile bir K-means modeli oluşturun ve değerlendirin.
- Python ile kümeleme modeli oluşturmak için Veri Bilimi Aracısı'nı kullanarak model oluşturma sürecini otomatikleştirin.
- Metin veya görsel sorgularıyla benzer evleri bulan bir görsel arama aracına güç vermek için ev görselleriyle ilgili gömümler oluşturun.
Ön koşullar
Bu laboratuvara başlamadan önce şunlar hakkında bilgi sahibi olmanız gerekir:
- Temel SQL ve Python programlama
- Jupyter not defterinde Python kodu çalıştırma
2. Başlamadan önce
Google Cloud projesi oluşturma
- Google Cloud Console'daki proje seçici sayfasında bir Google Cloud projesi seçin veya oluşturun.

- Cloud projeniz için faturalandırmanın etkinleştirildiğinden emin olun. Bir projede faturalandırmanın etkin olup olmadığını kontrol etmeyi öğrenin.
Cloud Shell ile API'leri etkinleştirme
Cloud Shell, Google Cloud'da çalışan ve gerekli araçların önceden yüklendiği bir komut satırı ortamıdır.
- Google Cloud Console'un üst kısmından Cloud Shell'i etkinleştir'i tıklayın:

- Cloud Shell'e bağlandıktan sonra Cloud Shell'deki kimlik doğrulamanızı doğrulamak için şu komutu çalıştırın:
gcloud auth list
- Projenizin gcloud ile kullanılacak şekilde yapılandırıldığını onaylamak için aşağıdaki komutu çalıştırın:
gcloud config list project
- Projeniz ayarlanmamışsa ayarlamak için aşağıdaki komutu kullanın:
export PROJECT_ID=<YOUR_PROJECT_ID>
gcloud config set project $PROJECT_ID
API'leri etkinleştir
- Gerekli tüm API'leri ve hizmetleri etkinleştirmek için bu komutu çalıştırın:
gcloud services enable bigquery.googleapis.com \
bigqueryunified.googleapis.com \
cloudaicompanion.googleapis.com \
aiplatform.googleapis.com
- Komut başarıyla yürütüldüğünde aşağıda gösterilene benzer bir mesaj görürsünüz:
Operation "operations/..." finished successfully.
- Cloud Shell'den çıkın.
3. BigQuery Studio'da Laboratuvar Not Defteri'ni açma
Kullanıcı arayüzünde gezinme:
- Google Cloud Console'da Gezinme menüsü > BigQuery'ye gidin.

- BigQuery Studio bölmesinde açılır liste oku düğmesini tıklayın, Notebook'un üzerine gelin ve Yükle'yi seçin.

- URL radyo düğmesini seçin ve aşağıdaki URL'yi girin:
https://github.com/GoogleCloudPlatform/generative-ai/blob/main/gemini/use-cases/applying-llms-to-data/ai-assisted-data-science/ai-assisted-data-science.ipynb
- Bölgeyi
us-central1olarak ayarlayın ve Yükle'yi tıklayın.

- Not defterini açmak için Gezgin bölmesinde proje kimliğinizi içeren açılır liste okunu tıklayın. Ardından Not Defterleri açılır menüsünü tıklayın. Not defterini
ai-assisted-data-sciencetıklayın.

- (İsteğe bağlı) Daha fazla alan için BigQuery gezinme menüsünü ve not defterinin içindekiler tablosunu daraltın.

4. Çalışma zamanına bağlanma ve kurulum kodunu çalıştırma
- Bağlan'ı tıklayın. Bir pop-up gösterilirse Colab Enterprise'ı kullanıcınızla yetkilendirin. Not defteriniz otomatik olarak bir çalışma zamanına bağlanır. Bu işlemin tamamlanması birkaç dakika sürebilir.

- Çalışma zamanı belirlendikten sonra aşağıdakileri görürsünüz:

- Not defterinde Kurulum bölümüne gidin. Gizli hücrelerin yanındaki "Çalıştır" düğmesini tıklayın. Bu işlem, projenizde laboratuvar için gerekli olan birkaç kaynak oluşturur. Bu işlemin tamamlanması bir dakika sürebilir. Bu sırada Kurulum bölümündeki hücreleri inceleyebilirsiniz.

5. Veri Hazırlama ve Özellik Mühendisliği
Bu bölümde, veri bilimi projelerindeki ilk önemli adım olan verilerinizi hazırlama sürecini inceleyeceksiniz. Öncelikle çalışmanızı düzenlemek için bir BigQuery veri kümesi oluşturur, ardından Cloud Storage'daki bir CSV dosyasından alınan ham emlak / konut verilerini yeni bir tabloya yüklersiniz.
Ardından, bu ham verileri yeni özellikler içeren temizlenmiş bir tabloya dönüştüreceksiniz. Bu işlemde listelemeler filtrelenir, yeni bir property_age özelliği oluşturulur ve görüntü verileri çok formatlı analiz için hazırlanır.
6. Yapay Zeka İşlevleriyle Çok Formatlı Zenginleştirme
Artık üretken yapay zekanın gücünü kullanarak verilerinizi zenginleştirebilirsiniz. Bu bölümde, her bir ev listelemesindeki resimleri analiz etmek için BigQuery'nin yerleşik yapay zeka işlevlerini kullanacaksınız.
BigQuery'yi bir Gemini modeline bağlayarak doğrudan SQL ile resimlerden yeni ve değerli özellikler (ör. bir mülkün suya yakın olup olmadığı ve evin kısa bir açıklaması) çıkarabilirsiniz.
7. K-ortalama kümeleme ile model eğitimi
Yeni zenginleştirilmiş veri kümenizle makine öğrenimi modeli oluşturmaya hazırsınız. Amacınız, ev ilanlarını farklı gruplara ayırmaktır. Bunu yapmak için BigQuery Machine Learning'i (BQML) kullanarak doğrudan BigQuery'de bir K-means kümeleme modeli eğitirsiniz. Bu tek adımda modeli Vertex AI Model Registry'ye de kaydederek Google Cloud'daki daha geniş MLOps ekosisteminde anında kullanılabilir hale getirirsiniz.
Modelinizin başarıyla kaydedildiğini onaylamak için aşağıdaki adımları uygulayarak modeli Vertex AI Model Registry'de bulabilirsiniz:
- Google Cloud Console'da sol üst köşedeki Gezinme menüsünü (☰) tıklayın.
- Vertex AI bölümüne gidin ve Model Registry'yi tıklayın. Artık BQML modelinizin diğer tüm özel modellerinizle birlikte listelendiğini göreceksiniz.

- Modeller listesinde housing_clustering adlı modeli bulun. Bir uç noktaya dağıtma adımına geçebilirsiniz. Bu işlem, modelinizin BigQuery ortamı dışında gerçek zamanlı ve online tahminler için kullanılabilir olmasını sağlar.

Model Kayıt Defteri'ni inceledikten sonra aşağıdaki adımları uygulayarak BigQuery'deki Colab not defterinize dönebilirsiniz:
- Gezinme menüsünde (☰) BigQuery > Studio'ya gidin.
- Not defterinizi bulup açmak için Keşfet bölmesindeki menüleri genişletin.
8. Model Değerlendirmesi ve Tahmin
Modelinizi eğittikten sonraki adım, oluşturduğu kümeleri anlamaktır. Burada, modelin kalitesini ve her segmentin tanımlayıcı özelliklerini analiz etmek için ML.EVALUATE ve ML.CENTROIDS gibi BigQuery makine öğrenimi işlevlerini kullanırsınız.
Ardından, her evi bir kümeye atamak için ML.PREDICT simgesini kullanırsınız. Bu sorguyu %%bigquery df sihirli komutuyla çalıştırarak sonuçları df adlı bir Pandas DataFrame'inde saklarsınız. Bu işlem, verilerin sonraki Python adımlarında hemen kullanılabilmesini sağlar. Bu, Colab Enterprise'da SQL ile Python arasındaki birlikte çalışabilirliği vurgular.
9. Kümeleri Görselleştirme ve Yorumlama
Tahminleriniz artık bir DataFrame'e yüklendiğinden verileri canlandırmak için görselleştirmeler oluşturabilirsiniz. Bu bölümde, konut segmentleri arasındaki farkları keşfetmek için Matplotlib gibi popüler Python kitaplıklarını kullanacaksınız.
Fiyat ve mülk yaşı gibi temel özellikleri görsel olarak karşılaştırmak için kutu grafikleri ve çubuk grafikler oluşturursunuz. Böylece her küme hakkında sezgisel bir anlayış geliştirmek kolaylaşır.
10. Gemini modelleriyle küme açıklamaları oluşturma
Sayısal merkezler ve grafikler güçlü olsa da üretken yapay zeka, bir adım daha ileri giderek her konut segmenti için zengin ve niteliksel karakterler oluşturmanıza olanak tanır. Bu sayede, kümelerin ne olduğunu değil, kimi temsil ettiğini de anlayabilirsiniz.
Bu bölümde, önce her küme için ortalama istatistikleri (ör. fiyat ve metrekare) toplarsınız. Ardından, bu verileri Gemini modeli için bir isteme aktaracaksınız. Ardından, modele emlak uzmanı gibi davranmasını ve her segment için temel özellikleri ve hedef alıcıyı içeren ayrıntılı bir özet oluşturmasını söylersiniz. Sonuç, kümeleri pazarlama ekibi için anında anlaşılır ve uygulanabilir hale getiren, kullanıcılar tarafından okunabilir net açıklamalardan oluşan bir settir.
İstemi istediğiniz gibi değiştirebilir ve sonuçlarla denemeler yapabilirsiniz.
11. Veri Bilimi Aracısı ile Modelleme İşlemlerini Otomatikleştirme
Şimdi güçlü bir alternatif iş akışını keşfedeceksiniz. Kodu manuel olarak yazmak yerine, tek bir doğal dil isteminden otomatik olarak eksiksiz bir kümeleme modeli iş akışı oluşturmak için entegre Veri Bilimi Aracısı'nı kullanacaksınız.
Aracı kullanarak modeli oluşturmak ve çalıştırmak için aşağıdaki adımları uygulayın:
- BigQuery Studio bölmesinde açılır liste oku düğmesini tıklayın, fareyle Notebook'un üzerine gelin ve Boş Notebook'u seçin. Böylece, aracının kodu orijinal laboratuvar not defterinize müdahale etmez.

- Veri Bilimi Temsilcisi sohbet arayüzü, not defterinin en altında açılır. Sohbeti sağ tarafa sabitlemek için Panele taşı düğmesini tıklayın.

- Sohbet bölmesinde
@listing_multimodalyazmaya başlayın ve tabloyu tıklayın. Bu,listings_multimodaltablosunu açıkça bağlam olarak ayarlar.

- Aşağıdaki istemi kopyalayıp Agent Chat kutusuna girin. Ardından, istemi Ajan'a göndermek için Gönder'i tıklayın.
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.

- Temsilci, düşünerek bir plan oluşturur. Bu planı kabul ediyorsanız Kabul et ve çalıştır'ı tıklayın. Aracı, bir veya daha fazla yeni hücrede Python kodu oluşturur.

- Aracı, oluşturduğu her kod bloğunu Kabul Et ve Çalıştır'manızı ister. Bu sayede uzmanlar sürece dahil olabilir. Kodu inceleyebilir veya düzenleyebilir ve bitirene kadar her adıma devam edebilirsiniz.

- İşiniz bittiğinde bu yeni not defteri sekmesini kapatıp laboratuvarın son bölümüne devam etmek için orijinal
ai-assisted-data-science.ipynbsekmesine dönmeniz yeterlidir.
12. Yerleştirmeler ve Vector Search ile Çok Formatlı Arama
Bu son bölümde, çok formatlı aramayı doğrudan BigQuery'de uygulayacaksınız. Bu sayede, metin açıklamasına göre ev bulma veya örnek resme benzeyen evler bulma gibi sezgisel aramalar yapılabilir.
Bu işlemde önce her ev resmi, gömme adı verilen sayısal bir temsile dönüştürülür. Yerleştirme, bir resmin anlamsal anlamını yakalar. Böylece sayısal vektörlerini karşılaştırarak benzer öğeleri bulabilirsiniz.
Tüm listelemeleriniz için bu vektörleri oluşturmak üzere multimodalembedding modelini kullanacaksınız. Aramaları hızlandırmak için bir vektör dizini oluşturduktan sonra iki tür benzerlik araması yaparsınız: metinden resme (bir açıklamaya uyan evleri bulma) ve resimden resme (bir örnek resme benzeyen evleri bulma).
Tüm bu işlemleri BigQuery'de tamamlayacaksınız. Yerleştirmeler oluşturmak için ML.GENERATE_EMBEDDING veya benzerlik araması için VECTOR_SEARCH gibi işlevleri kullanacaksınız.
13. Temizleme
Bu projede kullanılan tüm Google Cloud kaynaklarını temizlemek için Google Cloud projesini silebilirsiniz.
Alternatif olarak, not defterinizdeki yeni bir hücrede aşağıdaki kodu çalıştırarak oluşturduğunuz kaynakları tek tek silebilirsiniz:
# 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
Son olarak, not defterini silebilirsiniz:
- BigQuery Studio'nun Gezgin bölmesinde projenizi ve Notebooks (Not Defterleri) düğümünü genişletin.
ai-assisted-data-sciencenot defterinin yanındaki üç dikey noktayı tıklayın.- Sil'i seçin.
14. Tebrikler!
Codelab'i tamamladığınız için tebrikler.
İşlediğimiz konular
- Özellik mühendisliği aracılığıyla analiz için emlak listelemelerinin işlenmemiş bir veri kümesini hazırlayın.
- BigQuery'nin yapay zeka işlevlerini kullanarak ev fotoğraflarını temel görsel özellikler açısından analiz ederek listelemeleri zenginleştirin.
- BigQuery Machine Learning (BQML) ile özellikleri farklı kümeler halinde segmentlere ayırmak için bir K-means modeli oluşturun ve değerlendirin.
- Python ile kümeleme modeli oluşturmak için Veri Bilimi Aracısı'nı kullanarak model oluşturma sürecini otomatikleştirin.
- Metin veya görsel sorgularıyla benzer evleri bulan bir görsel arama aracına güç vermek için ev görselleriyle ilgili gömümler oluşturun.