Kesin referans verilerini hazırlama
Nüfus Dinamikleri yerleştirmelerini kullanmak için kesin referans verileriniz desteklenen bir coğrafi sınıra göre toplanmalıdır. Yönetim sınırı türleri dünya genelinde farklılık gösterdiğinden, verilerinizi evrensel matematiksel ızgara sistemlerini (ör. S2 hücreleri) veya yerel idari bölgeleri (ör. belirli ülke veri kümesine bağlı olarak ilçeler ya da bölgeler) kullanarak hizalayabilirsiniz.
1. seçenek: Yerleştirmeleri mevcut bir modele dahil etme
- Mevcut modele dayalı kesin referans verileri hazırlama: Mevcut bir modeli geliştirmek için gömmeleri coğrafi uzamsal kovaryantlar olarak kullanın.
- Hata düzeltme modeli eğitme: Yerleştirmeleri, yeni bir hata düzeltme modeli öğrenmek için orijinal model çıkışını, beklenen değeri veya kesin referansı ve yerleştirmeleri alan bir modele entegre ederek mevcut bir modeli iyileştirin.
2. seçenek: Belirli Kullanım Alanları İçin Ayarlama
- Bir tahmin modeli seçin: GBDT, MLP veya doğrusal gibi herhangi bir model tahminler için kullanılabilir.
- Tahmin için yerleştirmeleri kullanma: Tahmin doğruluğunu artırmak için diğer bağlamsal verilerin yanı sıra giriş özellikleri olarak nüfus dinamikleri yerleştirmelerini kullanın.
Sorgu örnekleri
your-project.your_dataset.embeddings_table yerine gerçek projenizi, veri kümenizi ve hedef tablo adınızı girin.
SQL: Yerleştirmeleri Getirme
Bu sorgu, sağlanan veri kümenizdeki S2 hücreleri için yerleştirme vektörünü ve yönetim meta verilerini alır.
SELECT geo_id, administrative_area_level_1_name AS state, administrative_area_level_2_name AS county, features -- The 330-dim vector FROM `your-project.your_dataset.embeddings_table` LIMIT 10;
SQL: Benzer Konumları Bulma
Bu sorgu, harici veri gerektirmeden davranışsal olarak benzer konumları tanımlar.
Kosinüs benzerliğini hesaplamak için ML.DISTANCE işlevini kullanır ve hedef bir S2 hücresi için en iyi eşleşmeleri döndürür. Bu yaklaşım, başarılı bir mevcut konumun profiline göre yeni bir mağazanın nerede açılacağını belirlemek gibi genişleme planlama senaryolarını destekler.
WITH TargetLocation AS ( SELECT features AS target_vector FROM `your-project.your_dataset.embeddings_table` -- Replace with your target S2 hex token (e.g., '80ead45') WHERE geo_id = 'YOUR_TARGET_S2_TOKEN' ) SELECT t.geo_id, t.administrative_area_level_1_name AS state, t.administrative_area_level_2_name AS county, -- Calculate Similarity (1.0 is identical, 0.0 is dissimilar) (1 - ML.DISTANCE(t.features, p.target_vector, 'COSINE')) AS similarity_score FROM `your-project.your_dataset.embeddings_table` t, TargetLocation p WHERE t.geo_id != `YOUR_TARGET_S2_TOKEN` -- Exclude the target itself ORDER BY similarity_score DESC LIMIT 20;
SQL: Müşteri verilerini birleştirme
Bu örnekte, kendi dahili verilerinizi (ör. mağaza performansı tablosu) davranış yerleştirmeleriyle nasıl zenginleştireceğiniz gösterilmektedir. Dahili verilerinizin eşleşen S2 hücre jetonları (onaltılık dizeler) içerdiğinden emin olun.
SELECT store.store_id, store.s2_token, store.total_revenue, embeddings.features AS pdfm_vector FROM `your-project.internal_data.store_performance` AS store JOIN `your-project.your_dataset.embeddings_table` AS embeddings ON -- Join based on the S2 hex token string store.s2_token = embeddings.geo_id
Python: Makine Öğrenimi İçin Veri Yükleme
Yerleştirmeler BigQuery dizileri olarak depolanır. Bu sütunları makine öğrenimi kitaplıklarında kullanmak için NumPy matrisine dönüştürmeniz gerekir.
from google.cloud import bigquery import numpy as np import pandas as pd client = bigquery.Client() query = """ SELECT geo_id, features -- Returns as a list of floats FROM `your-project.your_dataset.embeddings_table` LIMIT 1000 """ # 1. Load data into DataFrame df = client.query(query).to_dataframe() # 2. Convert the 'features' column (Series of Lists) into a Matrix (2D Array) X_matrix = np.stack(df['features'].values) print(f"Data Loaded. Matrix Shape: {X_matrix.shape}") # Output: Data Loaded. Matrix Shape: (1000, 330)