Visão geral da avaliação do BigQuery ML

Neste documento, descrevemos como o BigQuery ML oferece suporte à avaliação de modelos de machine learning (ML).

Visão geral da avaliação de modelos

É possível usar as métricas de avaliação de modelo de ML para as finalidades a seguir:

  • Avaliar a qualidade do ajuste entre o modelo e os dados.
  • Comparar modelos diferentes.
  • Prever a precisão com que você espera que cada modelo tenha um desempenho em um conjunto de dados específico, no contexto da seleção do modelo.

As avaliações de modelos de aprendizado supervisionados e não supervisionados funcionam de maneira diferente.

  • Para modelos de aprendizado supervisionado, a avaliação do modelo é bem definida. Um conjunto de avaliação, que são dados que não foram analisados pelo modelo, geralmente é excluído do conjunto de treinamento e usado para avaliar o desempenho do modelo. Recomendamos que você não use o conjunto de treinamento para avaliação, porque isso faz com que o modelo tenha um desempenho ruim ao generalizar os resultados da previsão para novos dados. Esse resultado é conhecido como overfitting.
  • Para modelos de aprendizado não supervisionados, a avaliação de modelo é menos definida e normalmente varia de acordo com o modelo. Como os modelos de aprendizado não supervisionados não reservam um conjunto de avaliações, as métricas de avaliação são calculadas usando todo o conjunto de dados de entrada.

Para informações sobre as funções e instruções SQL compatíveis com cada tipo de modelo, consulte Jornada do usuário completa de cada modelo.

Ofertas de avaliação de modelo

O BigQuery ML fornece as seguintes funções para calcular métricas de avaliação de modelos de ML:

Categoria do modelo Tipos de modelos Funções de avaliação de modelo O que a função faz
Aprendizado supervisionado Regressão linear

Regressor de árvores aprimoradas

Regressor de floresta aleatória

Regressor de DNN

Regressor de amplitude e profundidade

Regressor do AutoML Tables
ML.EVALUATE Informa as seguintes métricas:
  • erro absoluto médio
  • erro quadrático médio
  • erro de registro quadrático médio
  • erro médio absoluto
  • r2 score
  • variância explicada
Regressão logística

Classificador por árvores otimizadas

Classificador de floresta aleatória

Classificador DNN

Classificador de amplitude e profundidade

Classificador do AutoML Tables
ML.EVALUATE Informa as seguintes métricas:
  • precision
  • recall
  • accuracy
  • Pontuação F1
  • log perda
  • AUC da ROC
ML.CONFUSION_MATRIX Informa a matriz de confusão.
ML.ROC_CURVE Informa métricas para diferentes valores de limite, incluindo o seguinte:
  • recall
  • taxa de falso positivo
  • verdadeiros positivos
  • falsos positivos
  • verdadeiros negativos
  • falsos negativos

Isso se aplica apenas a modelos de classificação de classe binária.
Aprendizado não supervisionado K-means ML.EVALUATE Informa o índice Davies-Bouldin e a distância quadrada média entre os pontos de dados e os centroides dos clusters atribuídos.
Fatoração de matrizes ML.EVALUATE Para modelos baseados em feedback explícito, informa as seguintes métricas:
  • erro absoluto médio
  • erro quadrático médio
  • erro de registro quadrático médio
  • erro médio absoluto
  • r2 score
  • variância explicada
Para modelos baseados em feedback implícito, informa as seguintes métricas:
PCA ML.EVALUATE Informa a taxa de variação explicada total.
Codificador automático ML.EVALUATE Informa as seguintes métricas:
  • erro absoluto médio
  • erro quadrático médio
  • erro de registro quadrático médio
Série temporal ARIMA_PLUS ML.EVALUATE Informa as seguintes métricas:
  • erro absoluto médio
  • erro quadrático médio
  • erro percentual absoluto médio
  • erro de porcentagem absoluta média simétrica

Essa função exige novos dados como entrada.
ML.ARIMA_EVALUATE Informa as seguintes métricas para todos os modelos candidatos de ARIMA caracterizados por diferentes tuplas (p, d, q, has_drift):

Ela também relata outras informações sobre sazonalidade, efeitos de feriados e outliers de picos e quedas.

Essa função não exige novos dados como entrada.

Avaliação automática em instruções CREATE MODEL

O BigQuery ML oferece suporte à avaliação automática durante a criação do modelo. Dependendo do tipo de modelo, das opções de treinamento de divisão de dados e se você estiver usando o ajuste de hiperparâmetros, as métricas de avaliação serão calculadas com base no conjunto de dados de avaliação reservado, no conjunto de dados de teste reservado ou em todo o conjunto de dados de entrada.

  • Para modelos k-means, PCA, codificador automático e ARIMA_PLUS, o BigQuery ML usa todos os dados de entrada como dados de treinamento, e as métricas de avaliação são calculadas em relação a todo o conjunto de dados de entrada.

  • Para os modelos de regressão linear e logística, árvore otimizada, floresta aleatória, DNN, amplitude e profundidade e fatoração de matriz, as métricas de avaliação são calculadas em relação ao conjunto de dados especificado pelas seguintes opções CREATE MODEL:

    Ao treinar esses tipos de modelos usando o ajuste de hiperparâmetros, a opção DATA_SPLIT_TEST_FRACTION também ajuda a definir o conjunto de dados em que as métricas de avaliação são calculadas. Para mais informações, consulte Divisão de dados.

  • Para modelos do AutoML Tables, consulte como divisões de dados são usadas para treinamento e avaliação.

Para receber métricas de avaliação calculadas durante a criação do modelo, use funções de avaliação como ML.EVALUATE no modelo sem dados de entrada especificados. Para ver um exemplo, consulte ML.EVALUATE sem dados de entrada especificados.

Avaliação com um novo conjunto de dados

Após a criação do modelo, especifique novos conjuntos de dados para avaliação. Para fornecer um novo conjunto de dados, use funções de avaliação, como ML.EVALUATE, no modelo com os dados de entrada especificados. Por exemplo, consulte ML.EVALUATE com um limite personalizado e dados de entrada.