Chuẩn bị dữ liệu thực tế
Để sử dụng các thành phần nhúng Động lực học dân số, dữ liệu thực tế của bạn phải được tổng hợp thành một ranh giới địa lý được hỗ trợ. Vì các loại ranh giới hành chính khác nhau trên toàn cầu, nên bạn có thể điều chỉnh dữ liệu của mình bằng cách sử dụng hệ thống lưới toán học phổ biến (chẳng hạn như ô S2) hoặc các khu vực hành chính địa phương (chẳng hạn như quận hoặc huyện, tuỳ thuộc vào tập dữ liệu của quốc gia cụ thể).
Cách 1: Kết hợp các vectơ nhúng vào một mô hình hiện có
- Chuẩn bị dữ liệu cơ sở thực tế dựa trên mô hình hiện có: Sử dụng các vectơ nhúng làm biến số phụ không gian địa lý để cải thiện mô hình hiện có.
- Huấn luyện mô hình sửa lỗi: Cải thiện một mô hình hiện có bằng cách tích hợp các mục nhúng vào một mô hình lấy đầu ra của mô hình ban đầu, giá trị dự kiến hoặc thông tin thực tế và các mục nhúng để tìm hiểu một mô hình sửa lỗi mới.
Cách 2: Điều chỉnh cho các trường hợp sử dụng cụ thể
- Chọn một mô hình dự đoán: Bạn có thể sử dụng bất kỳ mô hình nào, chẳng hạn như GBDT, MLP hoặc tuyến tính, để dự đoán.
- Sử dụng các vectơ nhúng để dự đoán: Sử dụng các vectơ nhúng Động lực học dân số làm các đặc điểm đầu vào, cùng với các dữ liệu theo bối cảnh khác, để cải thiện độ chính xác của dự đoán.
Ví dụ về truy vấn
Thay thế your-project.your_dataset.embeddings_table bằng dự án, tập dữ liệu và tên bảng đích thực tế của bạn.
SQL: Tìm nạp các mục nhúng
Truy vấn này truy xuất vectơ nhúng và siêu dữ liệu hành chính cho các ô S2 trong tập dữ liệu được cung cấp của bạn.
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: Tìm vị trí tương tự
Truy vấn này xác định các vị trí tương tự về hành vi mà không yêu cầu dữ liệu bên ngoài.
Hàm này dùng hàm ML.DISTANCE để tính độ tương đồng về cosin, trả về các kết quả trùng khớp hàng đầu cho một ô S2 mục tiêu. Phương pháp này hỗ trợ các trường hợp lập kế hoạch mở rộng, chẳng hạn như xác định nơi mở cửa hàng mới dựa trên hồ sơ của một vị trí hiện tại đang hoạt động hiệu quả.
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: Kết hợp dữ liệu khách hàng
Ví dụ này minh hoạ cách làm phong phú dữ liệu nội bộ của riêng bạn (ví dụ: bảng hiệu suất của cửa hàng) bằng các mục nhúng hành vi. Đảm bảo dữ liệu nội bộ của bạn có chứa các mã thông báo ô S2 (chuỗi thập lục phân) trùng khớp.
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: Tải dữ liệu cho hoạt động học máy
Các vectơ nhúng được lưu trữ dưới dạng Mảng BigQuery. Để sử dụng các cột này trong thư viện ML, bạn phải chuyển đổi cột thành ma trận 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)