Prepara los datos de verdad fundamental
Para usar las incorporaciones de Population Dynamics, tus datos de verdad fundamental deben agregarse a un límite geográfico compatible. Debido a que los tipos de límites administrativos varían a nivel global, puedes alinear tus datos con sistemas de cuadrícula matemática universales (como las celdas S2) o regiones administrativas locales (como condados o distritos, según el conjunto de datos específico del país).
Opción 1: Incorpora incorporaciones en un modelo existente
- Prepara la verdad fundamental basada en el modelo existente: Usa las incorporaciones como covariables geoespaciales para mejorar un modelo existente.
- Entrena un modelo de corrección de errores: Mejora un modelo existente integrando las incorporaciones en un modelo que toma el resultado del modelo original, el valor esperado o la verdad fundamental, y las incorporaciones para aprender un nuevo modelo de corrección de errores.
Opción 2: Ajusta para casos de uso específicos
- Elige un modelo de predicción: Se puede usar cualquier modelo, como GBDT, MLP o lineal, para las predicciones.
- Usa embeddings para la predicción: Usa los embeddings de Population Dynamics como atributos de entrada, junto con otros datos contextuales, para mejorar la precisión de la predicción.
Ejemplos de consultas
Reemplaza your-project.your_dataset.embeddings_table por el proyecto, el conjunto de datos y el nombre de la tabla de destino reales.
SQL: Recupera incorporaciones
Esta consulta recupera el vector de incorporación y los metadatos administrativos de las celdas S2 en tu conjunto de datos aprovisionado.
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: Busca ubicaciones similares
Esta consulta identifica ubicaciones similares en función del comportamiento sin requerir datos externos.
Usa la función ML.DISTANCE para calcular la similitud del coseno y muestra las coincidencias principales para una celda S2 de destino. Este enfoque admite situaciones de planificación de expansión, como determinar dónde abrir una tienda nueva en función del perfil de una ubicación existente exitosa.
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: Une los datos del cliente
En este ejemplo, se muestra cómo enriquecer tus propios datos internos (por ejemplo, una tabla de rendimiento de la tienda) con embeddings de comportamiento. Asegúrate de que tus datos internos incluyan tokens de celdas S2 coincidentes (cadenas hexadecimales).
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: Carga datos para el aprendizaje automático
Las incorporaciones se almacenan como arrays de BigQuery. Para usarlas en bibliotecas de AA, debes convertir la columna en una matriz de 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)