Función ML.TRANSFORM
En este documento, se describe la función ML.TRANSFORM
, que puedes usar para procesar previamente los datos de los atributos. Esta función procesa datos de entrada mediante la aplicación de las transformaciones de datos capturadas en la cláusula TRANSFORM
de un modelo existente. Las estadísticas que se calcularon para la transformación de datos durante el entrenamiento del modelo se aplican a los datos de entrada de la función.
Para obtener más información sobre qué modelos admiten el procesamiento previo de atributos, consulta Recorrido del usuario de extremo a extremo para cada modelo.
Sintaxis
ML.TRANSFORM( MODEL `project_id.dataset.model`, { TABLE `project_id.dataset.table` | (query_statement) } )
Argumentos
ML.TRANSFORM
toma los siguientes argumentos:
project_id
: ID del proyectodataset
: un valorSTRING
que especifica el conjunto de datos de BigQuery que contiene el modelo.model
: El nombre de un modelo. El modelo debe haberse creado con una declaraciónCREATE MODEL
que incluya una cláusulaTRANSFORM
para realizar un procesamiento previo de los datos de los atributos de forma manual. Puedes verificar si un modelo usa una cláusulaTRANSFORM
mediante el comandobq show
para ver la función metadatos Si el modelo se entrenó con una cláusulaTRANSFORM
, los metadatos del modelo contendrán una sección sobre las columnas de transformación. La función muestra un error si especificas un modelo que se entrenó sin una cláusulaTRANSFORM
.table
: El nombre de la tabla de entrada que contiene los datos de atributos que se deben procesar previamente.Si se especifica
table
, los nombres de las columnas de entrada en la tabla deben coincidir con los nombres de las columnas de entrada en la cláusulaTRANSFORM
del modelo, y sus tipos deben ser compatibles de acuerdo con BigQuery reglas de coerción implícitas. Puedes obtener los nombres de las columnas de entrada y los tipos de datos de los metadatos del modelo en la sección sobre las columnas de atributos.query_statement
: Una consulta que genera los datos de atributos para el procesamiento previo anteriores. Para conocer la sintaxis de SQL compatible de la cláusulaquery_statement
, consulta Sintaxis de consulta de Google SQL.Si…
query_statement
se especifique, los nombres de las columnas de entrada de la consulta deben coincidir con los nombres de las columnas de entrada en el modeloTRANSFORM
cláusula, y sus tipos deben ser compatibles de acuerdo con BigQueryreglas de coerción implícitas . Puedes obtener los nombres de las columnas de entrada y los tipos de datos de los metadatos del modelo en la sección sobre las columnas de atributos.
Salida
ML.TRANSFORM
muestra las columnas especificadas en la cláusula TRANSFORM
del modelo.
Ejemplo
En el siguiente ejemplo, se muestran los datos de atributos que se procesaron con anterioridad mediante la cláusula TRANSFORM
incluida en el modelo llamado mydataset.mymodel
en tu proyecto predeterminado.
Crea el modelo que contiene la cláusula TRANSFORM
:
CREATE OR REPLACE MODEL `mydataset.mymodel` TRANSFORM( species, island, ML.MAX_ABS_SCALER(culmen_length_mm) OVER () AS culmen_length_mm, ML.MAX_ABS_SCALER(flipper_length_mm) OVER () AS flipper_length_mm, sex, body_mass_g) OPTIONS ( model_type = 'linear_reg', input_label_cols = ['body_mass_g']) AS ( SELECT * FROM `bigquery-public-data.ml_datasets.penguins` WHERE body_mass_g IS NOT NULL );
Muestra los datos de atributos procesados previamente por la cláusula TRANSFORM
del modelo:
SELECT * FROM ML.TRANSFORM( MODEL `mydataset.mymodel`, TABLE `bigquery-public-data.ml_datasets.penguins`);
El resultado es similar al siguiente:
+-------------------------------------+--------+---------------------+---------------------+--------+-----------------+-------------+ | species | island | culmen_length_mm | flipper_length_mm | sex | culmen_depth_mm | body_mass_g | --------------------------------------+--------+ ------------------- +---------------------+--------+-----------------+-------------+ | Adelie Penguin (Pygoscelis adeliae) | Dream | 0.61409395973154368 | 0.79653679653679654 | Female | 18.4 | 3475.0 | | Adelie Penguin (Pygoscelis adeliae) | Dream | 0.66778523489932884 | 0.79653679653679654 | Male | 19.1 | 4650.0 | +-------------------------------------+--------+---------------------+---------------------+--------+-----------------+-------------+
¿Qué sigue?
- Para obtener información sobre el procesamiento previo de atributos, consulta Descripción general del procesamiento previo de atributos.