Esta página mostra como avaliar os modelos de classificação e regressão do AutoML.
O Vertex AI fornece métricas de avaliação de modelos para ajudar a determinar o desempenho dos seus modelos, como métricas de precisão e recall. O Vertex AI calcula as métricas de avaliação através do conjunto de testes.
Antes de começar
Antes de avaliar o modelo, prepare-o.
Como usa as métricas de avaliação de modelos
As métricas de avaliação do modelo fornecem medições quantitativas do desempenho do modelo no conjunto de testes. A forma como interpreta e usa essas métricas depende das necessidades da sua empresa e do problema que o seu modelo foi preparado para resolver. Por exemplo, pode ter uma tolerância inferior a falsos positivos do que a falsos negativos ou vice-versa. Este tipo de perguntas afeta as métricas nas quais se foca.
Obtenha métricas de avaliação
Pode obter um conjunto agregado de métricas de avaliação para o seu modelo e, para alguns objetivos, métricas de avaliação para uma classe ou uma etiqueta específica. As métricas de avaliação de uma classe ou uma etiqueta específica também são conhecidas como uma divisão de avaliação. O conteúdo seguinte descreve como obter métricas de avaliação agregadas e divisões de avaliação através da Google Cloud consola ou da API.
Google Cloud consola
Na Google Cloud consola, na secção Vertex AI, aceda à página Modelos.
No menu pendente Região, selecione a região onde o seu modelo está localizado.
Na lista de modelos, clique no seu modelo, que abre o separador Avaliar do modelo.
No separador Avaliar, pode ver as métricas de avaliação agregadas do modelo, como a Precisão média e a Relembrança.
Se o objetivo do modelo tiver divisões de avaliação, a consola mostra uma lista de etiquetas. Pode clicar numa etiqueta para ver as métricas de avaliação dessa etiqueta, como mostrado no exemplo seguinte:
API
Os pedidos de API para obter métricas de avaliação são iguais para cada tipo de dados e objetivo, mas os resultados são diferentes. Os exemplos seguintes mostram o mesmo pedido, mas respostas diferentes.
Obtenha métricas de avaliação de modelos agregadas
As métricas de avaliação do modelo agregado fornecem informações sobre o modelo como um todo. Para ver informações sobre uma fatia específica, liste as fatias de avaliação do modelo.
Para ver métricas de avaliação do modelo agregadas, use o método
projects.locations.models.evaluations.get
.
Selecione o separador abaixo para o seu objetivo:
Classificação
O Vertex AI devolve uma matriz de métricas de confiança. Cada elemento mostra métricas de avaliação a um valor confidenceThreshold
diferente (a partir de 0 e até 1). Ao ver diferentes valores de limite, pode ver como o limite afeta outras métricas, como a precisão e a capacidade de memorização.
Selecione um separador que corresponda ao seu idioma ou ambiente:
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- LOCATION: região onde o seu modelo está armazenado.
- PROJECT: o seu ID do projeto.
- MODEL_ID: o ID do recurso do modelo.
- PROJECT_NUMBER: o número do projeto gerado automaticamente para o seu projeto.
- 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 o seu pedido, 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
Deve receber uma resposta JSON semelhante à seguinte:
Java
Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Java Vertex AI.
Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de experimentar este exemplo, siga as Node.jsinstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Node.js Vertex AI.
Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar ou atualizar o SDK Vertex AI para Python, consulte o artigo Instale o SDK Vertex AI para Python. Para mais informações, consulte a Python documentação de referência da API.
Regressão
Selecione um separador que corresponda ao seu idioma ou ambiente:
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- LOCATION: região onde o seu modelo está armazenado.
- PROJECT: .
- MODEL_ID: o ID do recurso do modelo.
- PROJECT_NUMBER: o número do projeto gerado automaticamente para o seu projeto.
- 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 o seu pedido, 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
Deve receber uma resposta JSON semelhante à seguinte:
Java
Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Java Vertex AI.
Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de experimentar este exemplo, siga as Node.jsinstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Node.js Vertex AI.
Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar ou atualizar o SDK Vertex AI para Python, consulte o artigo Instale o SDK Vertex AI para Python. Para mais informações, consulte a Python documentação de referência da API.
Apresentar todas as divisões de avaliação (apenas modelos de classificação)
O método
projects.locations.models.evaluations.slices.list
apresenta todas as divisões de avaliação do seu modelo. Tem de ter o ID de avaliação do modelo, que pode obter quando vê as métricas de avaliação agregadas.
Pode usar as divisões da avaliação do modelo para determinar o desempenho do modelo numa etiqueta específica. O campo value
indica a etiqueta a que as métricas se referem.
O Vertex AI devolve uma matriz de métricas de confiança. Cada elemento mostra métricas de avaliação a um valor confidenceThreshold
diferente (a partir de 0 e até 1). Ao ver diferentes valores de limite, pode ver como o limite afeta outras métricas, como a precisão e a capacidade de memorização.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- LOCATION: região onde o modelo está localizado. Por exemplo,
us-central1
. - PROJECT: .
- MODEL_ID: o ID do seu modelo.
- EVALUATION_ID: ID da avaliação do modelo que contém as divisões de avaliação a apresentar.
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 o seu pedido, 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
Deve receber uma resposta JSON semelhante à seguinte:
Java
Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Java Vertex AI.
Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de experimentar este exemplo, siga as Node.jsinstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Node.js Vertex AI.
Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar ou atualizar o SDK Vertex AI para Python, consulte o artigo Instale o SDK Vertex AI para Python. Para mais informações, consulte a Python documentação de referência da API.
Obtenha métricas para uma única fatia
Para ver as métricas de avaliação de uma única fatia, use o método
projects.locations.models.evaluations.slices.get
. Tem de ter o ID da fatia, que é fornecido quando lista todas as
fatias. O exemplo seguinte aplica-se a todos os tipos de dados e objetivos.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- LOCATION: região onde o modelo está localizado. Por exemplo: us-central1.
- PROJECT: .
- MODEL_ID: o ID do seu modelo.
- EVALUATION_ID: ID da avaliação do modelo que contém a fatia de avaliação a obter.
- SLICE_ID: ID de uma fatia de avaliação a obter.
- PROJECT_NUMBER: o número do projeto gerado automaticamente para o seu projeto.
- EVALUATION_METRIC_SCHEMA_FILE_NAME: o nome de um ficheiro de esquema que define as métricas de avaliação a devolver, 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 o seu pedido, 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
Deve receber uma resposta JSON semelhante à seguinte:
Java
Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Java Vertex AI.
Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de experimentar este exemplo, siga as Node.jsinstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Node.js Vertex AI.
Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar ou atualizar o SDK Vertex AI para Python, consulte o artigo Instale o SDK Vertex AI para Python. Para mais informações, consulte a Python documentação de referência da API.
Métricas de avaliação de modelos
A Vertex AI devolve várias métricas de avaliação diferentes, como os limites de precisão, de recall e de confiança. As métricas que o Vertex AI devolve dependem do objetivo do seu modelo. Por exemplo, o Vertex AI fornece diferentes métricas de avaliação para um modelo de classificação de imagens em comparação com um modelo de deteção de objetos de imagem.
Um ficheiro de esquema determina as métricas de avaliação que o Vertex AI fornece para cada objetivo.
Pode ver e transferir ficheiros de esquemas a partir da seguinte localização do Cloud Storage:
gs://google-cloud-aiplatform/schema/modelevaluation/
As métricas de avaliação são:
Classificação
- AuPRC: a área sob a curva de precisão-revocação (PR), também denominada precisão média. Este valor varia entre zero e um, em que um valor mais elevado indica um modelo de qualidade superior.
- AuROC: a área abaixo da curva de caraterísticas de funcionamento do recetor. Este valor varia entre zero e um, em que um valor mais elevado indica um modelo de maior qualidade.
- Perda logarítmica: a entropia cruzada entre as inferências do modelo e os valores de destino. Este valor varia entre zero e infinito, sendo que um valor mais baixo indica um modelo de qualidade superior.
- Limite de confiança: uma pontuação de confiança que determina as inferências a devolver. Um modelo devolve inferências que estão neste valor ou superior. Um limite de confiança mais elevado aumenta a precisão, mas diminui a revocação. A Vertex AI devolve métricas de confiança a diferentes valores de limite para mostrar como o limite afeta a precisão e a recolha.
- Recall: a fração de inferências com esta classe que o modelo previu corretamente. Também denominada taxa de verdadeiros positivos.
- Recuperação a 1: a recuperação (taxa de verdadeiros positivos) quando apenas se considera a etiqueta com a pontuação de inferência mais elevada e não abaixo do limite de confiança para cada exemplo.
- Precisão: a fração de inferências de classificação produzidas pelo modelo que estavam corretas.
- Precisão a 1: a precisão quando apenas se considera a etiqueta com a pontuação de inferência mais elevada e não abaixo do limite de confiança para cada exemplo.
- Pontuação de F1: o meio harmónico de precisão e revocação. A F1 é uma métrica útil se estiver à procura de um equilíbrio entre a precisão e a revocação, e existir uma distribuição de classes desigual.
- Pontuação de F1 a 1: a média harmónica da revocação a 1 e da precisão a 1.
- Contagem de verdadeiros negativos: o número de vezes que um modelo previu corretamente uma classe negativa.
- Contagem de verdadeiros positivos: o número de vezes que um modelo previu corretamente uma classe positiva.
- Contagem de falsos negativos: o número de vezes que um modelo previu incorretamente uma classe negativa.
- Contagem de falsos positivos: o número de vezes que um modelo previu incorretamente uma classe positiva.
- Taxa de falsos positivos: a fração de resultados previstos incorretamente em relação a todos os resultados previstos.
- Taxa de falsos positivos a 1: a taxa de falsos positivos quando apenas se considera a etiqueta com a pontuação de inferência mais elevada e não abaixo do limite de confiança para cada exemplo.
- Matriz de confusão: uma matriz de confusão mostra a frequência com que um modelo previu corretamente um resultado. Para resultados previstos incorretamente, a matriz mostra o que o modelo previu em alternativa. A matriz de confusão ajuda a compreender onde o seu modelo está a "confundir" dois resultados.
- Atribuições de funcionalidades do modelo: o Vertex AI mostra o impacto de cada funcionalidade num modelo. Os valores são fornecidos como uma percentagem para cada funcionalidade: quanto maior for a percentagem, maior foi o impacto da funcionalidade no treino do modelo. Reveja estas informações para garantir que todas as funcionalidades mais importantes fazem sentido para os seus dados e problema empresarial. Para saber mais, consulte o artigo Atribuições de funcionalidades para classificação e regressão.
Regressão
- MAE: o erro absoluto médio (MAE) é a diferença absoluta média entre os valores alvo e os valores previstos. Esta métrica varia de zero a infinito. Um valor mais baixo indica um modelo de qualidade superior.
- RMSE: o erro quadrático médio é a raiz quadrada da diferença média elevada ao quadrado entre os valores alvo e previstos. O RMSE é mais sensível a valores atípicos do que o MAE, por isso, se tiver preocupações com erros grandes, o RMSE pode ser uma métrica mais útil para avaliar. Semelhante ao EAM, um valor mais pequeno indica um modelo de qualidade superior (0 representa um preditor perfeito).
- RMSLE: a métrica de erro logarítmico da raiz quadrada média é semelhante à RMSE, exceto que usa o logaritmo natural dos valores previstos e reais mais 1. O RMSLE penaliza a subinferência mais do que a sobreinferência. Também pode ser uma boa métrica quando não quer penalizar as diferenças para valores de inferência grandes mais do que para valores de inferência pequenos. Esta métrica varia de zero ao infinito. Um valor mais baixo indica um modelo de qualidade superior. A métrica de avaliação RMSLE só é devolvida se todos os valores de etiqueta e previstos forem não negativos.
- r^2: r ao quadrado (r^2) é o quadrado do coeficiente de correlação de Pearson entre as etiquetas e os valores previstos. Esta métrica varia entre zero e um. Um valor mais elevado indica um ajuste mais próximo à linha de regressão.
-
MAPE: o erro percentual absoluto médio (MAPE) é a diferença percentual absoluta média entre as etiquetas e os valores previstos. Esta métrica varia entre zero e infinito. Um valor mais baixo indica um modelo de qualidade superior.
O MAPE não é apresentado se a coluna de destino contiver valores 0. Neste caso, MAPE não está definido. - Atribuições de funcionalidades do modelo: o Vertex AI mostra o impacto de cada funcionalidade num modelo. Os valores são fornecidos como uma percentagem para cada funcionalidade: quanto maior for a percentagem, maior foi o impacto da funcionalidade no treino do modelo. Reveja estas informações para garantir que todas as funcionalidades mais importantes fazem sentido para os seus dados e problema empresarial. Para saber mais, consulte o artigo Atribuições de funcionalidades para classificação e regressão.
O que se segue?
Quando tiver tudo pronto para fazer previsões com o seu modelo de classificação ou regressão, tem duas opções:
- Faça previsões online (em tempo real) com o seu modelo.
- Obtenha previsões em lote diretamente do seu modelo.
Além disso, pode:
- Veja a arquitetura do seu modelo.
- Saiba como exportar o seu modelo.