เตรียมข้อมูลความจริงพื้นฐาน
หากต้องการใช้การฝังไดนามิกของประชากร คุณต้องรวบรวมข้อมูลที่ได้จากการสังเกตการณ์ ไปยังขอบเขตทางภูมิศาสตร์ที่รองรับ เนื่องจากประเภทขอบเขตการบริหารแตกต่างกันไปทั่วโลก คุณจึงจัดแนวข้อมูลได้โดยใช้ระบบกริดทางคณิตศาสตร์สากล (เช่น เซลล์ S2) หรือเขตการบริหารท้องถิ่น (เช่น เขตหรืออำเภอ ทั้งนี้ขึ้นอยู่กับชุดข้อมูลของประเทศนั้นๆ)
ตัวเลือกที่ 1: รวมการฝังลงในโมเดลที่มีอยู่
- เตรียมข้อมูลความจริงที่ได้จากการสังเกตการณ์ตามโมเดลที่มีอยู่: ใช้การฝังเป็นตัวแปร ร่วมเชิงพื้นที่เพื่อปรับปรุงโมเดลที่มีอยู่
- ฝึกโมเดลแก้ไขข้อผิดพลาด: ปรับปรุงโมเดลที่มีอยู่โดยการผสานรวม การฝังลงในโมเดลที่ใช้เอาต์พุตโมเดลเดิม ค่าที่คาดไว้หรือข้อมูลที่เป็นความจริง และการฝังเพื่อฝึกโมเดลแก้ไขข้อผิดพลาดใหม่
ตัวเลือกที่ 2: ปรับแต่งสำหรับกรณีการใช้งานที่เฉพาะเจาะจง
- เลือกโมเดลการคาดการณ์: สามารถใช้โมเดลใดก็ได้ เช่น 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
Python: โหลดข้อมูลสำหรับแมชชีนเลิร์นนิง
ระบบจะจัดเก็บการฝังเป็นอาร์เรย์ 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)