Nesta página, mostramos como avaliar modelos de classificação e regressão do AutoML.
A Vertex AI fornece métricas de avaliação de modelo para ajudar você a determinar o desempenho dos seus modelos, como métricas de precisão e recall. A Vertex AI calcula as métricas de avaliação usando o conjunto de teste.
Antes de começar
Antes de avaliar o modelo, é preciso treiná-lo.
Como usar métricas de avaliação do modelo
As métricas de avaliação do modelo são medidas que avaliam o desempenho do seu modelo no conjunto de teste. A forma como você interpreta e usa essas métricas depende das necessidades do seu negócio e do problema que seu modelo é treinado para solucionar. Por exemplo, você pode ter uma tolerância menor a falsos positivos do que para falsos negativos ou vice-versa. Esses tipos de perguntas afetam as métricas que podem ser relevantes para você.
Como receber métricas de avaliação
É possível receber um conjunto agregado de métricas de avaliação para o modelo e, para alguns objetivos, métricas de avaliação de uma classe ou rótulo específico. As métricas de avaliação de uma classe ou rótulo específico também são conhecidas como fração de avaliação. O conteúdo a seguir descreve como receber métricas de avaliação agregadas e frações de avaliação usando o Console ou a API do Google Cloud.
Console do Google Cloud
No Console do Google Cloud, na seção "Vertex AI", acesse a página Modelos.
Na lista suspensa Região, selecione a região em que seu modelo está localizado.
Na lista de modelos, clique no seu modelo para abrir a guia Avaliar.
Na guia Avaliar, é possível visualizar as métricas agregadas de avaliação do modelo, como Precisão média e Recall.
Se o objetivo do modelo tiver frações de avaliação, o console mostrará uma lista de rótulos. Clique em um rótulo para visualizar as métricas de avaliação, conforme mostrado no exemplo a seguir:
API
As solicitações de API para receber métricas de avaliação são as mesmas para cada tipo de dado e objetivo, mas as saídas são diferentes. Os exemplos a seguir mostram a mesma solicitação, mas saídas diferentes.
Como receber métricas agregadas de avaliação de modelo
As métricas agregadas de avaliação de modelo fornecem informações sobre o modelo como um todo. Para ver informações sobre uma fração específica, liste as frações de avaliação do modelo.
Para visualizar as métricas agregadas de avaliação do modelo, use o
método
projects.locations.models.evaluations.get
.
Selecione a guia abaixo para seu objetivo:
Classificação
A Vertex AI retorna uma matriz de métricas de confiança. Cada elemento
mostra métricas de avaliação em um valor confidenceThreshold
diferente
(começando em 0 e indo até 1). Ao visualizar diferentes valores de limite,
é possível ver como o limite afeta outras métricas, como precisão e recall.
Selecione uma guia que corresponda ao seu idioma ou ambiente:
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION: região onde seu modelo é armazenado.
- PROJECT: o ID do projeto.
- MODEL_ID: o ID do recurso do modelo.
- PROJECT_NUMBER: o número do projeto gerado automaticamente.
- EVALUATION_ID: ID da avaliação do modelo (aparece na resposta).
Método HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations
Para enviar a solicitação, escolha uma destas opções:
curl
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations"
PowerShell
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
Java
Antes de testar esse exemplo, siga as instruções de configuração para Java no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Java.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de testar essa amostra, siga as instruções de configuração para Node.js Guia de início rápido da Vertex AI: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Node.js.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.
Regressão
Selecione uma guia que corresponda ao seu idioma ou ambiente:
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION: região onde seu modelo é armazenado.
- PROJECT: o ID do projeto.
- MODEL_ID: o ID do recurso do modelo.
- PROJECT_NUMBER: o número do projeto gerado automaticamente.
- EVALUATION_ID: ID da avaliação do modelo (aparece na resposta).
Método HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations
Para enviar a solicitação, escolha uma destas opções:
curl
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations"
PowerShell
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
Java
Antes de testar esse exemplo, siga as instruções de configuração para Java no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Java.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de testar essa amostra, siga as instruções de configuração para Node.js Guia de início rápido da Vertex AI: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Node.js.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.
Listar todas as frações de avaliação (somente modelos de classificação)
O
método projects.locations.models.evaluations.slices.list
lista todas as frações de avaliação do modelo. É necessário ter o ID
de avaliação do modelo, que é possível conseguir ao visualizar as métricas agregadas
de avaliação.
É possível usar frações de avaliação de modelo para determinar como foi o desempenho do modelo em um
rótulo específico. O campo value
informa para quais rótulos as métricas são usadas.
A Vertex AI retorna uma matriz de métricas de confiança. Cada elemento
mostra métricas de avaliação em um valor confidenceThreshold
diferente
(começando em 0 e indo até 1). Ao visualizar diferentes valores de limite,
é possível ver como o limite afeta outras métricas, como precisão e recall.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION: região onde o modelo está localizado. Por exemplo,
us-central1
. - PROJECT: o ID do projeto.
- MODEL_ID: o ID do modelo.
- EVALUATION_ID: ID da avaliação do modelo que contém as frações de avaliação a serem listadas.
Método HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices
Para enviar a solicitação, escolha uma destas opções:
curl
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices"
PowerShell
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
Java
Antes de testar esse exemplo, siga as instruções de configuração para Java no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Java.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de testar essa amostra, siga as instruções de configuração para Node.js Guia de início rápido da Vertex AI: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Node.js.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.
Como receber métricas para uma única fração
Para visualizar as métricas de avaliação de uma única fração, use o
método
projects.locations.models.evaluations.slices.get
. É necessário ter o ID da fração, que é fornecido quando você lista todas as
frações. A amostra a seguir se aplica a todos os tipos de dados e
objetivos.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION: região onde o modelo está localizado. Por exemplo: us-central1.
- PROJECT: o ID do projeto.
- MODEL_ID: o ID do modelo.
- EVALUATION_ID: ID da avaliação do modelo que contém a fração de avaliação a ser recuperada.
- SLICE_ID: ID de uma fração de avaliação a ser recebida.
- PROJECT_NUMBER: o número do projeto gerado automaticamente.
- EVALUATION_METRIC_SCHEMA_FILE_NAME: o nome de um arquivo de esquema
que define as métricas de avaliação a serem retornadas, como
classification_metrics_1.0.0
.
Método HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID
Para enviar a solicitação, escolha uma destas opções:
curl
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID"
PowerShell
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
Java
Antes de testar esse exemplo, siga as instruções de configuração para Java no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Java.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de testar essa amostra, siga as instruções de configuração para Node.js Guia de início rápido da Vertex AI: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Node.js.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.
Métricas de avaliação de modelo
A Vertex AI retorna várias métricas de avaliação, como limites de precisão, recall e confiança. As métricas retornadas pela Vertex AI dependem do objetivo do seu modelo. Por exemplo, a Vertex AI fornece métricas de avaliação diferentes para um modelo de classificação de imagens em comparação com um modelo de detecção de objetos de imagem.
Um arquivo de esquema determina quais métricas de avaliação a Vertex AI fornece para cada objetivo.
É possível visualizar e fazer o download de arquivos de esquema no seguinte local do
Cloud Storage:
gs://google-cloud-aiplatform/schema/modelevaluation/
As métricas de avaliação são as seguintes:
Classificação
- AuPRC: a área sob a curva de precisão/recall (PR, na sigla em inglês), também conhecida como precisão média. Ela varia de zero a um. Um valor maior indica um modelo de melhor qualidade.
- AuROC: a área sob a curva de característica de operação do receptor. Ela varia de zero a um. Um valor maior indica um modelo de melhor qualidade.
- Log Perda: a entropia cruzada entre as predições do modelo e os valores do objetivo. Ela varia de zero a infinito. Um valor menor indica um modelo de melhor qualidade.
- Limite de confiança: uma pontuação de confiança que determina quais previsões serão retornadas. Um modelo retorna previsões que têm esse valor ou um valor maior. Um limite de confiança maior aumenta a precisão, mas diminui o recall. A Vertex AI retorna métricas de confiança em valores de limite diferentes para mostrar como o limite afeta a precisão e o recall.
- Recall: a fração de predições com esta classe que o modelo previu corretamente. Também chamado de taxa de verdadeiro positivo.
- Recall em 1: o recall (taxa de verdadeiro positivo) ao considerar apenas o rótulo que tem a maior pontuação de previsão e não abaixo do limite de confiança de cada exemplo.
- Precisão: a fração de predições de classificação produzidas pelo modelo que estavam corretas.
- Precisão em 1: a precisão ao considerar apenas o rótulo que tem a maior pontuação de previsão e não abaixo do limite de confiança de cada exemplo.
- Pontuação F1: a média harmônica de precisão e recall. F1 é uma métrica útil quando você está procurando um equilíbrio entre precisão e recall e a distribuição de classes é desigual.
- Pontuação F1 em 1: a média harmônica de recall em 1 e precisão em 1.
- Contagem de verdadeiro negativo: o número de vezes que um modelo previu corretamente uma classe negativa.
- Contagem de verdadeiro positivo: o número de vezes que um modelo previu corretamente uma classe positiva.
- Contagem de falso negativo: o número de vezes que um modelo previu incorretamente uma classe negativa.
- Contagem de falso positivo: o número de vezes que um modelo previu incorretamente uma classe positiva.
- Taxa de falso positivo: a fração de resultados previstos incorretamente de todos os resultados previstos.
- Taxa de falso positivo em 1: a taxa de falso positivo ao considerar apenas o rótulo que tem o maior índice de previsão e não abaixo do limite de confiança de cada exemplo.
- Matriz de confusão: uma matriz de confusão mostra com que frequência um modelo previu corretamente um resultado. Para resultados previstos incorretamente, a matriz mostra o que o modelo previu. A matriz de confusão ajuda a entender onde o modelo "confunde" dois resultados.
- Atribuições de recursos de modelo: Vertex AI mostra o quanto cada recurso afeta um modelo. Os valores são fornecidos como uma porcentagem para cada atributo: quanto maior a porcentagem, mais impacto o recurso teve no treinamento do modelo. Analise essas informações para garantir que todos os atributos mais importantes estejam coerentes com os dados e o problema da empresa. Para saber mais, consulte Atribuições de recursos para classificação e regressão.
Regressão
- MAE: erro médio absoluto (MAE, na sigla em inglês) é a diferença média absoluta entre valores desejados e valores previstos. Essa métrica varia de zero a infinito. Um valor menor indica um modelo de qualidade superior.
- REMQ: a raiz do erro médio quadrado é a raiz quadrada da diferença média quadrática entre os valores de destino e previstos. A REMQ é mais sensível a outliers do que o MAE. Portanto, se você estiver preocupado com erros grandes, talvez seja mais útil avaliar a REMQ. Assim como no caso do MAE, um valor menor indica um modelo de maior qualidade (0 representa um preditor perfeito).
- RMSLE: a métrica de raiz do erro médio quadrado e logarítmico é semelhante à RMSE. A diferença é que é usado o logaritmo natural de valores previstos e valores reais mais 1. A RMSLE penaliza com mais intensidade a subestimação do que a superestimação. Esta também pode ser uma boa métrica quando você não quer penalizar as diferenças de grandes valores de previsão com mais intensidade do que para pequenos valores de previsão. Essa métrica varia de zero a infinito. Um valor menor indica um modelo de qualidade superior. A métrica de avaliação RMSLE é retornada somente se todos os rótulos e valores previstos forem não negativos.
- r^2: r ao quadrado (r^2) é o quadrado do coeficiente de correlação de Pearson entre os rótulos e os valores previstos. A métrica varia de zero a um. Um valor maior indica um ajuste mais próximo da linha de regressão.
-
MAPE: o erro absoluto médio percentual (MAPE, na sigla em inglês) é a diferença percentual absoluta média entre os rótulos e os valores previstos. Esta métrica
varia de zero a infinito. Um valor menor indica um modelo de melhor
qualidade.
O MAPE não é exibido se na coluna de destino houver algum valor zero. Nesse caso, o MAPE será indefinido. - Atribuições de recursos de modelo: Vertex AI mostra o quanto cada recurso afeta um modelo. Os valores são fornecidos como uma porcentagem para cada atributo: quanto maior a porcentagem, mais impacto o recurso teve no treinamento do modelo. Analise essas informações para garantir que todos os atributos mais importantes estejam coerentes com os dados e o problema da empresa. Para saber mais, consulte Atribuições de recursos para classificação e regressão.
A seguir
Quando estiver pronto para fazer previsões com o modelo de classificação ou regressão, você terá duas opções:
- Faça previsões on-line (em tempo real) usando seu modelo.
- Receba previsões em lote diretamente do modelo.
Você também pode:
- Veja a arquitetura do seu modelo.
- Saiba como exportar seu modelo.