Chuẩn bị dữ liệu thực tế
Để sử dụng tính năng 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 theo 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ể căn 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ổ quát (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 bộ dữ liệu cụ thể của quốc gia).
Cách 1: Kết hợp tính năng nhúng vào mô hình hiện có
- Chuẩn bị dữ liệu thực tế dựa trên mô hình hiện có: Sử dụng tính năng nhúng làm các biến đồng biến 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ô hình hiện có bằng cách tích hợp tính năng nhúng vào mô hình lấy đầu ra của mô hình ban đầu, giá trị dự kiến hoặc dữ liệu thực tế và tính năng nhúng để tìm hiểu 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ô 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 mô hình tuyến tính để dự đoán.
- Sử dụng tính năng nhúng để dự đoán: Sử dụng tính năng 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 tên dự án, tập dữ liệu và bảng đích thực tế của bạn.
SQL: Tìm nạp tính năng 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.
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 địa điểm tương tự
Truy vấn này xác định các địa điểm tương tự về hành vi mà không cần dữ liệu bên ngoài.
Truy vấn này sử dụng hàm ML.DISTANCE để tính toán độ tương tự cosine, trả về các kết quả phù hợp nhất cho một ô S2 đích. 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 địa điểm mở cửa hàng mới dựa trên hồ sơ của một địa điểm hiện có thành công.
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 tính năng nhúng hành vi. Đảm bảo dữ liệu nội bộ của bạn bao gồm các mã thông báo ô S2 phù hợp (chuỗi thập lục phân).
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 công nghệ học máy
Tính năng nhúng được lưu trữ dưới dạng Mảng BigQuery. Để sử dụng các tính năng 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)