Função ML.TRANSFORM
Neste documento, descrevemos a função ML.TRANSFORM
, que pode ser usada para pré-processar dados de atributos. Essa função processa dados de entrada
aplicando as transformações de dados capturadas na
cláusula TRANSFORM
de um modelo atual. As estatísticas que foram calculadas para a transformação de dados durante o treinamento do modelo são aplicadas aos dados de entrada da função.
Para mais informações sobre quais modelos são compatíveis com o pré-processamento de recursos, consulte Jornada do usuário completa para cada modelo.
Sintaxe
ML.TRANSFORM( MODEL `project_id.dataset.model`, { TABLE `project_id.dataset.table` | (query_statement) } )
Argumentos
ML.TRANSFORM
usa os seguintes argumentos:
project_id
: o ID do projeto.dataset
: um valorSTRING
que especifica o conjunto de dados do BigQuery que contém o modelo.model
: o nome de um modelo O modelo precisa ter sido criado usando uma instruçãoCREATE MODEL
que inclua uma cláusulaTRANSFORM
para pré-processar manualmente os dados do recurso. É possível verificar se um modelo usa uma cláusulaTRANSFORM
usando o comandobq show
para analisar o modelo metadados. Se o modelo foi treinado usando uma cláusulaTRANSFORM
, os metadados do modelo contêm uma seção sobre as colunas de transformação. A função retornará um erro se você especificar um modelo treinado sem uma cláusulaTRANSFORM
.table
: o nome da tabela de entrada que contém os dados de recursos a serem pré-processados.Se
table
for especificado, os nomes das colunas de entrada na tabela precisam corresponder aos nomes das colunas de entradaTRANSFORM
e os tipos deles devem ser compatíveis de acordo com as regras de coerção implícitas do BigQuery. Você consegue os nomes das colunas de entrada e os tipos de dados dos metadados do modelo, na seção sobre as colunas de atributos.query_statement
: uma consulta que gera os dados de atributos para pré-processamento. Para saber a sintaxe SQL compatível da cláusulaquery_statement
, consulte Sintaxe de consulta do GoogleSQL.Se
query_statement
for especificado, os nomes das colunas de entrada da consulta precisam corresponder aos nomes na cláusulaTRANSFORM
do modelo, e seus tipos devem ser compatíveis de acordo com as regras de coerção implícitas do BigQuery. Você consegue os nomes das colunas de entrada e os tipos de dados dos metadados do modelo, na seção sobre as colunas de atributos.
Saída
ML.TRANSFORM
retorna as colunas especificadas na cláusula TRANSFORM
do modelo.
Exemplo
O exemplo a seguir retorna dados de recursos que foram pré-processados usando a cláusula TRANSFORM
incluída no modelo chamado mydataset.mymodel
em seu projeto padrão.
Crie o modelo que contém a 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 );
Retorne dados de atributos pré-processados pela cláusula TRANSFORM
do modelo:
SELECT * FROM ML.TRANSFORM( MODEL `mydataset.mymodel`, TABLE `bigquery-public-data.ml_datasets.penguins`);
O resultado será semelhante ao seguinte:
+-------------------------------------+--------+---------------------+---------------------+--------+-----------------+-------------+ | 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 | +-------------------------------------+--------+---------------------+---------------------+--------+-----------------+-------------+
A seguir
- Para informações sobre o pré-processamento de atributos, consulte Visão geral do pré-processamento de atributos.