آمادهسازی دادههای واقعیت زمینی
برای استفاده از جاسازیهای Population Dynamics، دادههای واقعیت زمینی شما باید در یک مرز جغرافیایی پشتیبانیشده تجمیع شوند. از آنجا که انواع مرزهای اداری در سطح جهانی متفاوت است، میتوانید دادههای خود را با استفاده از سیستمهای شبکه ریاضی جهانی (مانند سلولهای S2) یا مناطق اداری محلی (مانند شهرستانها یا بخشها، بسته به مجموعه دادههای خاص کشور) تراز کنید.
گزینه ۱: گنجاندن جاسازیها در یک مدل موجود
- آمادهسازی دادههای پایه مبتنی بر مدل موجود: از جاسازیها به عنوان متغیرهای کمکی مکانی برای بهبود مدل موجود استفاده کنید.
- آموزش یک مدل تصحیح خطا: بهبود یک مدل موجود با ادغام جاسازیها در مدلی که خروجی مدل اصلی، مقدار مورد انتظار یا حقیقت زمینهای و جاسازیها را برای یادگیری یک مدل تصحیح خطای جدید میگیرد.
گزینه ۲: تنظیم برای موارد استفاده خاص
- یک مدل پیشبینی انتخاب کنید: هر مدلی، مانند GBDT، MLP یا خطی، میتواند برای پیشبینیها استفاده شود.
- استفاده از جاسازیها برای پیشبینی: از جاسازیهای دینامیک جمعیت به عنوان ویژگیهای ورودی، در کنار سایر دادههای زمینهای، برای بهبود دقت پیشبینی استفاده کنید.
نمونههای پرسوجو
your-project.your_dataset.embeddings_table را با نام واقعی پروژه، مجموعه داده و جدول هدف خود جایگزین کنید.
SQL: جاسازیهای واکشی
این پرسوجو بردار جاسازی و فرادادههای مدیریتی را برای سلولهای S2 در مجموعه دادهی تأمینشدهی شما بازیابی میکند.
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: یافتن مکانهای مشابه
این پرسوجو مکانهای مشابه از نظر رفتاری را بدون نیاز به دادههای خارجی شناسایی میکند.
این روش از تابع ML.DISTANCE برای محاسبه شباهت کسینوسی استفاده میکند و تطابقهای برتر را برای یک سلول هدف S2 برمیگرداند. این رویکرد از سناریوهای برنامهریزی توسعه، مانند تعیین محل افتتاح یک فروشگاه جدید بر اساس مشخصات یک مکان موجود موفق، پشتیبانی میکند.
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: اتصال دادههای مشتری
این مثال نشان میدهد که چگونه دادههای داخلی خود (مثلاً جدول عملکرد فروشگاه) را با تعبیههای رفتاری غنی کنید. مطمئن شوید که دادههای داخلی شما شامل توکنهای سلول S2 (رشتههای هگز) منطبق هستند.
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
پایتون: بارگذاری دادهها برای یادگیری ماشین
جاسازیها به صورت آرایههای BigQuery ذخیره میشوند. برای استفاده از آنها در کتابخانههای ML، باید ستون را به یک ماتریس NumPy تبدیل کنید.
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)