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 proyecto
  • dataset: un valor STRING 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ón CREATE MODEL que incluya una cláusula TRANSFORM para realizar un procesamiento previo de los datos de los atributos de forma manual. Puedes verificar si un modelo usa una cláusula TRANSFORM mediante el comando bq show para ver la función metadatos Si el modelo se entrenó con una cláusula TRANSFORM, 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áusula TRANSFORM.
  • 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áusula TRANSFORM 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áusula query_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?