Função ML.TRAINING_INFO

Função ML.TRAINING_INFO

A função ML.TRAINING_INFO permite ver informações sobre as iterações de treinamento de um modelo. ML.TRAINING_INFO pode ser executado ao mesmo tempo que a consulta CREATE MODEL ou depois dela. Se você executar uma consulta que contenha ML.TRAINING_INFO antes de a primeira iteração de treinamento ser concluída, a consulta retornará um erro Not found.

ML.TRAINING_INFO retorna as seguintes colunas:

  • training_run: o valor nesta coluna é zero para um modelo recém-criado. Se você treinar novamente o modelo usando warm_start, esse valor será incrementado.
  • iteration: o número de iteração da execução do treinamento. O valor da primeira iteração é zero. Esse valor será incrementado para cada nova execução de treinamento.
  • loss: a métrica de perda calculada após uma iteração nos dados de treinamento. Refere-se à log perda de uma regressão logística e ao erro quadrático médio de uma regressão linear. Para regressões logísticas multiclasse, loss é a log perda de entropia cruzada. Para modelos de fatoração de matrizes explícita, a perda é um erro quadrático médio calculado sobre as classificações de entrada vistas. Para modelos de fatoração de matrizes implícita, a perda é calculada usando a seguinte fórmula:

    \( Loss = \sum_{u, i} c_{ui}(p_{ui} - x^T_uy_i)^2 + \lambda(\sum_u||x_u||^2 + \sum_i||y_i||^2) \)

    Mais informações sobre o que as variáveis significam podem ser encontradas aqui

  • eval_loss: a métrica de perda calculada nos dados não incluídos. Para modelos k-means, ML.TRAINING_INFO não retorna uma coluna eval_loss. Se o parâmetro DATA_SPLIT_METHOD for 'NO_SPLIT', todas as entradas na coluna eval_loss serão NULL.

  • learning_rate: a taxa de aprendizado (em inglês) nesta iteração.

  • duration_ms: quanto tempo a iteração levou, em milissegundos.

  • cluster_info: um ARRAY de STRUCTs, que contém os campos centroid_id, cluster_radius e cluster_size. ML.TRAINING_INFO calcula cluster_radius e cluster_size com recursos padronizados. Apenas retornado para modelos k-means.

Permissões de ML.TRAINING_INFO

bigquery.models.create e bigquery.models.getData são necessárias para executar ML.TRAINING_INFO.

Sintaxe de ML.TRAINING_INFO

ML.TRAINING_INFO(MODEL `project_id.dataset.model`)

Em que:

  • project_id é o ID do projeto.
  • dataset é o conjunto de dados do BigQuery que contém o modelo.
  • model é o nome do modelo.

Exemplo de ML.TRAINING_INFO

O exemplo a seguir recupera informações de treinamento de mymodel em mydataset. O conjunto de dados está no projeto padrão.

SELECT
  *
FROM
  ML.TRAINING_INFO(MODEL `mydataset.mymodel`)

Limitações da ML.TRAINING_INFO

A função ML.TRAINING_INFO está sujeita às seguintes limitações: