Exportar modelos
Nesta página, você aprenderá como exportar modelos do BigQuery ML. É possível exportar modelos do BigQuery ML para o Cloud Storage e usá-los para realizar previsões on-line ou editá-los no Python. Há três maneiras de exportar modelos:
- Com o console doGoogle Cloud .
 - usando a instrução 
EXPORT MODEL. - usando o comando 
bq extractna ferramenta de linha de comando bq; - enviando um
job 
extractpor meio da API ou das bibliotecas de cliente. 
Os seguintes tipos de modelo podem ser exportados:
AUTOENCODERAUTOML_CLASSIFIERAUTOML_REGRESSORBOOSTED_TREE_CLASSIFIERBOOSTED_TREE_REGRESSORDNN_CLASSIFIERDNN_REGRESSORDNN_LINEAR_COMBINED_CLASSIFIERDNN_LINEAR_COMBINED_REGRESSORKMEANSLINEAR_REGLOGISTIC_REGMATRIX_FACTORIZATIONRANDOM_FOREST_CLASSIFIERRANDOM_FOREST_REGRESSORTENSORFLOW(modelos importados do TensorFlow)PCATRANSFORM_ONLY
Exportar formatos de modelos e amostras
A tabela a seguir mostra os formatos finais de exportação para cada tipo de modelo do BigQuery ML, bem como uma amostra dos arquivos que são gravados no bucket do Cloud Storage.
| Tipo de modelo | Formato do modelo para exportação | Amostra de arquivos exportados | 
|---|---|---|
| AUTOML_CLASSIFIER | SavedModel do TensorFlow (TF 2.1.0) | gcs_bucket/
          
       | 
    
| AUTOML_REGRESSOR | ||
| AUTOENCODER | SavedModel do TensorFlow (TF 1.15 ou superior) | |
| DNN_CLASSIFIER | ||
| DNN_REGRESSOR | ||
| DNN_LINEAR_COMBINED_CLASSIFIER | ||
| DNN_LINEAR_COMBINED_REGRESSOR | ||
| KMEANS | ||
| LINEAR_REGRESSOR | ||
| LOGISTIC_REG | ||
| MATRIX_FACTORIZATION | ||
| PCA | ||
| TRANSFORM_ONLY | ||
| BOOSTED_TREE_CLASSIFIER | Otimizador (XGBoost 0,82) | gcs_bucket/
          
          main.py é para execução local. Consulte Implantação de modelos para mais detalhes.
       | 
    
| BOOSTED_TREE_REGRESSOR | ||
| RANDOM_FOREST_REGRESSOR | ||
| RANDOM_FOREST_REGRESSOR | ||
| TENSORFLOW (importado) | TensorFlow SavedModel | Exatamente os mesmos arquivos que estavam presentes ao importar o modelo | 
Exporte o modelo treinado com TRANSFORM
Se o modelo for treinado com a
cláusula TRANSFORM,
outro modelo de pré-processamento realiza a mesma lógica na
cláusula TRANSFORM e é salvo no formato SavedModel do Tensorflow no
subdiretório transform.
É possível implantar um modelo treinado com a cláusula TRANSFORM
na Vertex AI e também no local. Para mais informações, consulte
Implantação de modelos.
| Formato do modelo para exportação | Amostra de arquivos exportados | 
|---|---|
| 
        Modelo de previsão: SavedModel do TensorFlow ou Booster (XGBoost 0,82).
         Modelo de pré-processamento para a cláusula TRANSFORM: SavedModel do TensorFlow (TF 2.5 ou mais recente)  | 
      gcs_bucket/
           | 
    
O modelo não contém as informações sobre a engenharia de atributos
realizada fora da cláusula TRANSFORM
durante o treinamento. Por exemplo, qualquer item na instrução SELECT. Portanto,
é necessário converter manualmente os dados de entrada antes de alimentar o modelo de
pré-processamento.
Tipos de dados compatíveis
Ao exportar modelos treinados com a cláusula TRANSFORM,
os seguintes tipos de dados são compatíveis para serem incluídos na
cláusula TRANSFORM.
| Tipo de entrada TRANSFORM | Exemplos de entrada TRANSFORM | Exemplos de entrada de modelo de pré-processamento exportadas | 
|---|---|---|
| INT64 | 
        10,
         | 
      
        tf.constant(
         | 
    
| NUMERIC | 
        NUMERIC 10,
         | 
      
        tf.constant(
         | 
    
| BIGNUMERIC | 
        BIGNUMERIC 10,
         | 
      
        tf.constant(
         | 
    
| FLOAT64 | 
        10.0,
         | 
      
        tf.constant(
         | 
    
| BOOL | 
        TRUE,
         | 
      
        tf.constant(
         | 
    
| STRING | 
        'abc',
         | 
      
        tf.constant(
         | 
    
| BYTES | 
        b'abc',
         | 
      
        tf.constant(
         | 
    
| DATE | 
        DATE '2020-09-27',
         | 
      
        tf.constant(
         | 
    
| DATETIME | 
        DATETIME '2023-02-02 02:02:01.152903',
         | 
      
        tf.constant(
         | 
    
| TIME | 
        TIME '16:32:36.152903',
         | 
      
        tf.constant(
         | 
    
| TIMESTAMP | 
        TIMESTAMP '2017-02-28 12:30:30.45-08',
         | 
      
        tf.constant(
         | 
    
| ARRAY | 
        ['a', 'b'],
         | 
      
        tf.constant(
         | 
    
| ARRAY< STRUCT< INT64, FLOAT64>> | 
        [(1, 1.0), (2, 1.0)],
         | 
      
        tf.sparse.from_dense(
         | 
    
| NULL | 
        NULL,
         | 
      
        tf.constant(
         | 
    
Funções SQL compatíveis
Ao exportar modelos treinados com a cláusula TRANSFORM,
é possível usar as seguintes funções SQL dentro da cláusula TRANSFORM.
- Operadores
+,-,*,/,=,<,>,<=,>=,!=,<>,[NOT] BETWEEN,[NOT] IN,IS [NOT] NULL,IS [NOT] TRUE,IS [NOT] FALSE,NOT,AND,OR.
 - Expressões condicionais
CASE expr,CASE,COALESCE,IF,IFNULL,NULLIF.
 - Funções matemáticas
ABS,ACOS,ACOSH,ASINH,ATAN,ATAN2,ATANH,CBRT,CEIL,CEILING,COS,COSH,COT,COTH,CSC,CSCH,EXP,FLOOR,IS_INF,IS_NAN,LN,LOG,LOG10,MOD,POW,POWER,SEC,SECH,SIGN,SIN,SINH,SQRT,TAN,TANH.
 - Funções de conversão
CAST AS INT64,CAST AS FLOAT64,CAST AS NUMERIC,CAST AS BIGNUMERIC,CAST AS STRING,SAFE_CAST AS INT64,SAFE_CAST AS FLOAT64
 - Funções de string
CONCAT,LEFT,LENGTH,LOWER,REGEXP_REPLACE,RIGHT,SPLIT,SUBSTR,SUBSTRING,TRIM,UPPER.
 - Funções de data
Date,DATE_ADD,DATE_SUB,DATE_DIFF,DATE_TRUNC,EXTRACT,FORMAT_DATE,PARSE_DATE,SAFE.PARSE_DATE.
 - Funções de data/hora
DATETIME,DATETIME_ADD,DATETIME_SUB,DATETIME_DIFF,DATETIME_TRUNC,EXTRACT,PARSE_DATETIME,SAFE.PARSE_DATETIME.
 - Funções de hora
TIME,TIME_ADD,TIME_SUB,TIME_DIFF,TIME_TRUNC,EXTRACT,FORMAT_TIME,PARSE_TIME,SAFE.PARSE_TIME.
 - Funções de carimbo de data/hora
TIMESTAMP,TIMESTAMP_ADD,TIMESTAMP_SUB,TIMESTAMP_DIFF,TIMESTAMP_TRUNC,FORMAT_TIMESTAMP,PARSE_TIMESTAMP,SAFE.PARSE_TIMESTAMP,TIMESTAMP_MICROS,TIMESTAMP_MILLIS,TIMESTAMP_SECONDS,EXTRACT,STRING,UNIX_MICROS,UNIX_MILLIS,UNIX_SECONDS.
 - Funções de pré-processamento manuais
ML.IMPUTER,ML.HASH_BUCKETIZE,ML.LABEL_ENCODER,ML.MULTI_HOT_ENCODER,ML.NGRAMS,ML.ONE_HOT_ENCODER,ML.BUCKETIZE,ML.MAX_ABS_SCALER,ML.MIN_MAX_SCALER,ML.NORMALIZER,ML.QUANTILE_BUCKETIZE,ML.ROBUST_SCALER,ML.STANDARD_SCALER.
 
Limitações
As limitações a seguir são aplicadas na exportação de modelos:
Não será possível exportar modelos se qualquer um dos recursos a seguir for usado durante o treinamento:
- Os tipos de recurso 
ARRAY,TIMESTAMPouGEOGRAPHYestavam presentes nos dados de entrada. 
- Os tipos de recurso 
 Os modelos exportados para os tipos de modelo
AUTOML_REGRESSOReAUTOML_CLASSIFIERnão são compatíveis com a implantação da Vertex AI para previsão on-line.O limite de tamanho do modelo para a exportação do modelo de fatoração de matrizes é 1 GB. O tamanho do modelo é quase proporcional a
num_factors, então será possível reduzirnum_factorsdurante o treinamento para diminuir o tamanho do modelo se você atingir o limite.Para modelos treinados com a cláusula
TRANSFORMdo BigQuery ML para pré-processamento de atributos manual, consulte os tipos de dados e funções compatíveis com exportação.Modelos treinados com a cláusula
TRANSFORMdo BigQuery ML antes de 18 de setembro de 2023 precisam ser treinados novamente antes de serem implantados pelo Model Registry para previsão on-line.Durante a exportação do modelo,
ARRAY<STRUCT<INT64, FLOAT64>>,ARRAYeTIMESTAMPsão aceitos como dados pré-transformados, mas não como dados pós-transformados.
Exportar modelos do BigQuery ML
Para exportar um modelo, selecione uma das seguintes opções:
Console
Abra a página do BigQuery no console do Google Cloud .
No painel à esquerda, clique em Explorer:

Se o painel esquerdo não aparecer, clique em Expandir painel esquerdo para abrir.
No painel Explorer, expanda o projeto, clique em Conjuntos de dados e selecione seu conjunto de dados.
Clique em Visão geral > Modelos e clique no nome do modelo que você quer exportar.
Clique em Mais > Exportar:
 Na caixa de diálogo Exportar modelo para o Google Cloud Storage:
- Em Selecionar local do GCS, procure o local do bucket ou da pasta em que você quer exportar o modelo e clique em Selecionar.
 - Clique em Enviar para exportar o modelo.
 
Para verificar o andamento do job, no painel Explorer, clique em Histórico de jobs e procure um job do tipo EXTRAÇÃO.
SQL
A instrução EXPORT MODEL permite exportar modelos do BigQuery ML para o
Cloud Storage usando a sintaxe de consulta do
GoogleSQL.
Para exportar um modelo do BigQuery ML no console Google Cloud usando a instrução EXPORT MODEL, siga estas etapas:
No console do Google Cloud , abra a página do BigQuery.
Clique em Escrever nova consulta.
No campo Editor de consultas, digite a instrução
EXPORT MODEL.A consulta a seguir exporta um modelo chamado
myproject.mydataset.mymodelpara um bucket do Cloud Storage com o URIgs://bucket/path/to/saved_model/.EXPORT MODEL `myproject.mydataset.mymodel` OPTIONS(URI = 'gs://bucket/path/to/saved_model/')
Clique em Executar. Quando a consulta for concluída, o seguinte aparecerá no painel Resultados da consulta:
Successfully exported model.
bq
Use o comando bq extractcom a sinalização --model.
(Opcional) Forneça a sinalização --destination_format e escolha o formato do modelo exportado.
(Opcional) Forneça a sinalização --location e defina o valor para seu local.
bq --location=location extract \ --destination_format format \ --model project_id:dataset.model \ gs://bucket/model_folder
Em que:
- location é o nome do local. A sinalização 
--locationé opcional. Por exemplo, se você estiver usando o BigQuery na região de Tóquio, defina o valor da sinalização comoasia-northeast1. Defina um valor padrão para a unidade usando o arquivo .bigqueryr. - destination_format é o formato do modelo exportado: 
ML_TF_SAVED_MODEL(padrão) ouML_XGBOOST_BOOSTER. - project_id é o ID do projeto;
 - dataset é o nome do conjunto de dados de origem;
 - model é o modelo que você está exportando.
 - bucket é o nome do bucket do Cloud Storage para o qual você está exportando os dados. O conjunto de dados do BigQuery e o bucket do Cloud Storage precisam estar no mesmo local;
 - model_folder é o nome da pasta em que os arquivos de modelo exportados serão gravados.
 
Exemplos:
O comando a seguir exporta mydataset.mymodel no formato SavedModel do TensorFlow para um bucket do Cloud Storage chamado mymodel_folder.
bq extract --model \ 'mydataset.mymodel' \ gs://example-bucket/mymodel_folder
O valor padrão de destination_format é ML_TF_SAVED_MODEL.
O comando a seguir exporta mydataset.mymodel no formato XGBoost Booster para um bucket do Cloud Storage chamado mymodel_folder.
bq extract --model \ --destination_format ML_XGBOOST_BOOSTER \ 'mydataset.mytable' \ gs://example-bucket/mymodel_folder
API
Para exportar um modelo, crie um job extract e preencha a configuração dele.
(Opcional) Especifique seu local na propriedade location na seção jobReference do recurso job.
Crie um job de extração que aponte para o modelo do BigQuery ML e o destino do Cloud Storage.
Especifique o modelo de origem usando o objeto de configuração
sourceModel, que contém os IDs do projeto, do conjunto de dados e do modelo.A propriedade
destination URI(s)precisa ser totalmente qualificada no formato gs://bucket/model_folder.Especifique o formato de destino definindo a propriedade
configuration.extract.destinationFormat. Por exemplo, para exportar um modelo de árvore otimizada, defina essa propriedade com o valorML_XGBOOST_BOOSTER.Para verificar o status do job, chame jobs.get(job_id) com o ID do job retornado pela solicitação inicial.
status.state = DONEindica que o job foi concluído.- Se a propriedade 
status.errorResultaparecer, isso indica que houve falha na solicitação, e o objeto incluirá informações que descrevem o erro. - Se 
status.errorResultnão aparecer, o job foi concluído com sucesso, mesmo se tiver ocorrido erros não fatais. Tais erros são listados na propriedadestatus.errorsdo objeto do job retornado. 
Observações sobre a API:
Como prática recomendada, gere um ID exclusivo e transmita-o como
jobReference.jobIdao chamarjobs.insertpara criar um job. Essa abordagem é mais resistente a falhas de rede porque o cliente pode pesquisar ou tentar novamente com o ID do job conhecido.Chamar
jobs.insertem um determinado ID de job é idempotente, ou seja, mesmo que você repita o processo inúmeras vezes com o mesmo ID, somente uma das operações, no máximo, será bem-sucedida.
Java
Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Java.
Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Implantação do modelo
É possível implantar o modelo exportado na Vertex AI e no local. Se a
cláusula TRANSFORM do modelo contém funções de data, funções de data e hora, funções de hora ou funções de carimbo de data e hora, é preciso
usar a Biblioteca bigquery-ml-utils 
no contêiner. A exceção é se você estiver implantando por meio do Model Registry,
que não precisa de modelos exportados ou de exibição de contêineres.
Implantação da Vertex AI
| Formato do modelo para exportação | Implantação | 
|---|---|
| SavedModel do Tensorflow (exceto modelos AutoML) | Implantar um SavedModel do TensorFlow. É necessário criar o arquivo SavedModel usando uma versão com suporte do TensorFlow. | 
| SavedModel do Tensorflow (modelos AutoML) | Incompatível. | 
| XGBoost Booster | 
        usar uma rotina de previsão personalizada. Para modelos do XGBoost Booster, as informações de pré-processamento e pós-processamento são salvas nos arquivos exportados, e uma rotina de predição personalizada permite implantar o modelo com os arquivos extras exportados.
         É preciso criar os arquivos de modelo usando uma versão compatível do XGBoost.  | 
    
Implantação local
| Formato do modelo para exportação | Implantação | 
|---|---|
| SavedModel do Tensorflow (exceto modelos AutoML) | 
        O SavedModel é um formato padrão que pode ser implantado no contêiner Docker do Tensorflow Serving. Também é possível aproveitar a execução local da Vertex AI online prediction.  | 
    
| SavedModel do Tensorflow (modelos AutoML) | Coloque o modelo em um contêiner e execute-o. | 
| XGBoost Booster | 
        Para executar modelos do XGBoost Booster localmente, use o arquivo main.py exportado: 
  | 
    
Formato de saída da previsão
Nesta seção, você verá o formato de saída da previsão para cada tipo de modelo exportado. Todos os tipos de modelo exportado são compatíveis com a previsão em lote, podendo processar várias linhas de entrada por vez. Por exemplo, há duas linhas de entrada em cada um dos exemplos de formato de saída a seguir.
AUTOENCODER
| Formato de saída da previsão | Amostra de saída | 
|---|---|
        
+------------------------+------------------------+------------------------+
|      LATENT_COL_1      |      LATENT_COL_2      |           ...          |
+------------------------+------------------------+------------------------+
|       [FLOAT]          |         [FLOAT]        |           ...          |
+------------------------+------------------------+------------------------+
         | 
      
        
+------------------+------------------+------------------+------------------+
|   LATENT_COL_1   |   LATENT_COL_2   |   LATENT_COL_3   |   LATENT_COL_4   |
+------------------------+------------+------------------+------------------+
|    0.21384512    |    0.93457112    |    0.64978097    |    0.00480489    |
+------------------+------------------+------------------+------------------+
         | 
    
AUTOML_CLASSIFIER
| Formato de saída da previsão | Amostra de saída | 
|---|---|
        
+------------------------------------------+
| predictions                              |
+------------------------------------------+
| [{"scores":[FLOAT], "classes":[STRING]}] |
+------------------------------------------+
         | 
      
        
+---------------------------------------------+
| predictions                                 |
+---------------------------------------------+
| [{"scores":[1, 2], "classes":['a', 'b']},   |
|  {"scores":[3, 0.2], "classes":['a', 'b']}] |
+---------------------------------------------+
         | 
    
AUTOML_REGRESSOR
| Formato de saída da previsão | Amostra de saída | 
|---|---|
        
+-----------------+
| predictions     |
+-----------------+
| [FLOAT]         |
+-----------------+
         | 
      
        
+-----------------+
| predictions     |
+-----------------+
| [1.8, 2.46]     |
+-----------------+
         | 
    
BOOSTED_TREE_CLASSIFIER e RANDOM_FOREST_CLASSIFIER
| Formato de saída da previsão | Amostra de saída | 
|---|---|
        
+-------------+--------------+-----------------+
| LABEL_PROBS | LABEL_VALUES | PREDICTED_LABEL |
+-------------+--------------+-----------------+
| [FLOAT]     | [STRING]     | STRING          |
+-------------+--------------+-----------------+
         | 
      
        
+-------------+--------------+-----------------+
| LABEL_PROBS | LABEL_VALUES | PREDICTED_LABEL |
+-------------+--------------+-----------------+
| [0.1, 0.9]  | ['a', 'b']   | ['b']           |
+-------------+--------------+-----------------+
| [0.8, 0.2]  | ['a', 'b']   | ['a']           |
+-------------+--------------+-----------------+
         | 
    
BOOSTED_TREE_REGRESSOR E RANDOM_FOREST_REGRESSOR
| Formato de saída da previsão | Amostra de saída | 
|---|---|
        
+-----------------+
| predicted_label |
+-----------------+
| FLOAT           |
+-----------------+
         | 
      
        
+-----------------+
| predicted_label |
+-----------------+
| [1.8]           |
+-----------------+
| [2.46]          |
+-----------------+
         | 
    
DNN_CLASSIFIER
| Formato de saída da previsão | Amostra de saída | 
|---|---|
        
+---------------+-------------+-----------+---------+------------------------+--------+---------------+
| ALL_CLASS_IDS | ALL_CLASSES | CLASS_IDS | CLASSES | LOGISTIC (binary only) | LOGITS | PROBABILITIES |
+---------------+-------------+-----------+---------+------------------------+--------+---------------+
| [INT64]       | [STRING]    | INT64     | STRING  | FLOAT                  | [FLOAT]| [FLOAT]       |
+---------------+-------------+-----------+---------+------------------------+--------+---------------+
         | 
      
        
+---------------+-------------+-----------+---------+------------------------+--------+---------------+
| ALL_CLASS_IDS | ALL_CLASSES | CLASS_IDS | CLASSES | LOGISTIC (binary only) | LOGITS | PROBABILITIES |
+---------------+-------------+-----------+---------+------------------------+--------+---------------+
| [0, 1]        | ['a', 'b']  | [0]       | ['a']   | [0.36]                 | [-0.53]| [0.64, 0.36]  |
+---------------+-------------+-----------+---------+------------------------+--------+---------------+
| [0, 1]        | ['a', 'b']  | [0]       | ['a']   | [0.2]                  | [-1.38]| [0.8, 0.2]    |
+---------------+-------------+-----------+---------+------------------------+--------+---------------+
         | 
    
DNN_REGRESSOR
| Formato de saída da previsão | Amostra de saída | 
|---|---|
        
+-----------------+
| PREDICTED_LABEL |
+-----------------+
| FLOAT           |
+-----------------+
         | 
      
        
+-----------------+
| PREDICTED_LABEL |
+-----------------+
| [1.8]           |
+-----------------+
| [2.46]          |
+-----------------+
         | 
    
DNN_LINEAR_COMBINED_CLASSIFIER
| Formato de saída da previsão | Amostra de saída | 
|---|---|
        
+---------------+-------------+-----------+---------+------------------------+--------+---------------+
| ALL_CLASS_IDS | ALL_CLASSES | CLASS_IDS | CLASSES | LOGISTIC (binary only) | LOGITS | PROBABILITIES |
+---------------+-------------+-----------+---------+------------------------+--------+---------------+
| [INT64]       | [STRING]    | INT64     | STRING  | FLOAT                  | [FLOAT]| [FLOAT]       |
+---------------+-------------+-----------+---------+------------------------+--------+---------------+
         | 
      
        
+---------------+-------------+-----------+---------+------------------------+--------+---------------+
| ALL_CLASS_IDS | ALL_CLASSES | CLASS_IDS | CLASSES | LOGISTIC (binary only) | LOGITS | PROBABILITIES |
+---------------+-------------+-----------+---------+------------------------+--------+---------------+
| [0, 1]        | ['a', 'b']  | [0]       | ['a']   | [0.36]                 | [-0.53]| [0.64, 0.36]  |
+---------------+-------------+-----------+---------+------------------------+--------+---------------+
| [0, 1]        | ['a', 'b']  | [0]       | ['a']   | [0.2]                  | [-1.38]| [0.8, 0.2]    |
+---------------+-------------+-----------+---------+------------------------+--------+---------------+
         | 
    
DNN_LINEAR_COMBINED_REGRESSOR
| Formato de saída da previsão | Amostra de saída | 
|---|---|
        
+-----------------+
| PREDICTED_LABEL |
+-----------------+
| FLOAT           |
+-----------------+
         | 
      
        
+-----------------+
| PREDICTED_LABEL |
+-----------------+
| [1.8]           |
+-----------------+
| [2.46]          |
+-----------------+
         | 
    
KMEANS
| Formato de saída da previsão | Amostra de saída | 
|---|---|
        
+--------------------+--------------+---------------------+
| CENTROID_DISTANCES | CENTROID_IDS | NEAREST_CENTROID_ID |
+--------------------+--------------+---------------------+
| [FLOAT]            | [INT64]      | INT64               |
+--------------------+--------------+---------------------+
         | 
      
        
+--------------------+--------------+---------------------+
| CENTROID_DISTANCES | CENTROID_IDS | NEAREST_CENTROID_ID |
+--------------------+--------------+---------------------+
| [1.2, 1.3]         | [1, 2]       | [1]                 |
+--------------------+--------------+---------------------+
| [0.4, 0.1]         | [1, 2]       | [2]                 |
+--------------------+--------------+---------------------+
         | 
    
LINEAR_REG
| Formato de saída da previsão | Amostra de saída | 
|---|---|
        
+-----------------+
| PREDICTED_LABEL |
+-----------------+
| FLOAT           |
+-----------------+
         | 
      
        
+-----------------+
| PREDICTED_LABEL |
+-----------------+
| [1.8]           |
+-----------------+
| [2.46]          |
+-----------------+
        | 
    
LOGISTIC_REG
| Formato de saída da previsão | Amostra de saída | 
|---|---|
        
+-------------+--------------+-----------------+
| LABEL_PROBS | LABEL_VALUES | PREDICTED_LABEL |
+-------------+--------------+-----------------+
| [FLOAT]     | [STRING]     | STRING          |
+-------------+--------------+-----------------+
         | 
      
        
+-------------+--------------+-----------------+
| LABEL_PROBS | LABEL_VALUES | PREDICTED_LABEL |
+-------------+--------------+-----------------+
| [0.1, 0.9]  | ['a', 'b']   | ['b']           |
+-------------+--------------+-----------------+
| [0.8, 0.2]  | ['a', 'b']   | ['a']           |
+-------------+--------------+-----------------+
         | 
    
MATRIX_FACTORIZATION
Observação: no momento, é possível usar apenas um usuário de entrada e gerar os 50 principais pares (predicted_rating, predicted_item) classificados por predicted_rating em ordem decrescente.
| Formato de saída da previsão | Amostra de saída | 
|---|---|
        
+--------------------+--------------+
| PREDICTED_RATING | PREDICTED_ITEM |
+------------------+----------------+
| [FLOAT]          | [STRING]       |
+------------------+----------------+
         | 
      
        
+--------------------+--------------+
| PREDICTED_RATING | PREDICTED_ITEM |
+------------------+----------------+
| [5.5, 1.7]       | ['A', 'B']     |
+------------------+----------------+
| [7.2, 2.7]       | ['B', 'A']     |
+------------------+----------------+
         | 
    
TENSORFLOW (importado)
| Formato de saída da previsão | 
|---|
| Igual ao modelo importado | 
PCA
| Formato de saída da previsão | Amostra de saída | 
|---|---|
        
+-------------------------+---------------------------------+
| PRINCIPAL_COMPONENT_IDS | PRINCIPAL_COMPONENT_PROJECTIONS |
+-------------------------+---------------------------------+
|       [INT64]           |             [FLOAT]             |
+-------------------------+---------------------------------+
         | 
      
        
+-------------------------+---------------------------------+
| PRINCIPAL_COMPONENT_IDS | PRINCIPAL_COMPONENT_PROJECTIONS |
+-------------------------+---------------------------------+
|       [1, 2]            |             [1.2, 5.0]          |
+-------------------------+---------------------------------+
         | 
    
TRANSFORM_ONLY
| Formato de saída da previsão | 
|---|
        Igual às colunas especificadas na cláusula TRANSFORM do modelo
       | 
    
Visualização do modelo XGBoost
Para visualizar as árvores otimizadas, use a API Python plot_tree após a exportação do modelo. Por exemplo, é possível aproveitar o Colab sem instalar as dependências:
- Exporte o modelo de árvore otimizada para um bucket do Cloud Storage.
 - Faça o download do arquivo 
model.bsta partir do bucket do Cloud Storage. - Em um bloco do Colab, faça o upload do arquivo 
model.bstparaFiles. Execute o seguinte código no notebook:
import xgboost as xgb import matplotlib.pyplot as plt model = xgb.Booster(model_file="model.bst") num_iterations = <iteration_number> for tree_num in range(num_iterations): xgb.plot_tree(model, num_trees=tree_num) plt.show
Este exemplo representa várias árvores (uma árvore por iteração):
 
No momento, não salvamos nomes de recursos no modelo. Portanto, você verá nomes como "f0", "f1" e assim por diante. Você encontra os nomes dos recursos correspondentes no arquivo exportado assets/model_metadata.json que tenham esses nomes (como "f0") como índices.
Permissões necessárias
Para exportar um modelo do BigQuery ML para o Cloud Storage, você precisa ter permissões para acessar o modelo, executar jobs de extração e gravar os dados no bucket do Cloud Storage.
Permissões do BigQuery
Para exportar modelos, é necessário ter, no mínimo, as permissões
bigquery.models.export. Os seguintes papéis predefinidos do Identity and Access Management (IAM) recebem permissõesbigquery.models.export:bigquery.dataViewerbigquery.dataOwnerbigquery.dataEditorbigquery.admin
Para executar um job de exportação, é necessário ter, no mínimo, as permissões
bigquery.jobs.create. Os papéis predefinidos do IAM a seguir tem as permissõesbigquery.jobs.create:bigquery.userbigquery.jobUserbigquery.admin
Permissões do Cloud Storage
Para gravar dados em um bucket do Cloud Storage, é necessário ter as permissões
storage.objects.create. Os seguintes papéis predefinidos do IAM tem as permissõesstorage.objects.create:storage.objectCreatorstorage.objectAdminstorage.admin
Para mais informações sobre papéis e permissões do IAM no BigQuery ML, consulte Controle de acesso.
Mover dados do BigQuery entre locais
Não é possível alterar o local de um conjunto de dados após a criação, mas tem como fazer uma cópia dele.
Política de cotas
Para informações sobre cotas de jobs de extração, consulte Jobs de extração na página "Cotas e limites".
Preços
Não há cobrança pela exportação de modelos do BigQuery ML. No entanto, as exportações estão sujeitas a cotas e limites do BigQuery. Consulte a página de preços do BigQuery para mais informações.
Depois que os dados forem exportados, você será cobrado pelo armazenamento deles no Cloud Storage. Consulte a página de preços do Cloud Storage para mais informações.
A seguir
- Acompanhe o tutorial Como exportar um modelo do BigQuery ML para previsão on-line.