Avalie os resultados do experimento automatizado de aprendizado de máquina
Neste artigo, saiba como avaliar e comparar modelos treinados por seu experimento de aprendizado de máquina automatizado (ML automatizado). Ao longo de um experimento automatizado de ML, muitos empregos são criados e cada trabalho cria um modelo. Para cada modelo, o ML automatizado gera métricas de avaliação e gráficos que ajudam a medir o desempenho do modelo. Você pode ainda gerar um painel de IA responsável para fazer uma avaliação holística e depuração do melhor modelo recomendado por padrão. Isso inclui informações como explicações do modelo, explorador de equidade e desempenho, explorador de dados e análise de erros de modelo. Saiba mais sobre como gerar um painel de IA responsável.
Por exemplo, o ML automatizado gera os gráficos a seguir com base no tipo de experimento.
Importante
Os itens marcados (visualização) neste artigo estão atualmente em visualização pública. A versão de visualização é fornecida sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.
Pré-requisitos
- Uma subscrição do Azure. (Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar)
- Um experimento do Azure Machine Learning criado com:
- O estúdio do Azure Machine Learning (sem necessidade de código)
- O SDK Python do Azure Machine Learning
Ver resultados do trabalho
Após a conclusão do experimento automatizado de ML, um histórico dos trabalhos pode ser encontrado através de:
- Um navegador com o estúdio Azure Machine Learning
- Um bloco de anotações Jupyter usando o widget JobDetails Jupyter
As etapas e o vídeo a seguir mostram como visualizar o histórico de execução e as métricas e gráficos de avaliação do modelo no estúdio:
- Entre no estúdio e navegue até o seu espaço de trabalho.
- No menu à esquerda, selecione Trabalhos.
- Selecione seu experimento na lista de experimentos.
- Na tabela na parte inferior da página, selecione um trabalho de ML automatizado.
- Na guia Modelos, selecione o nome do algoritmo para o modelo que você deseja avaliar.
- Na guia Métricas, use as caixas de seleção à esquerda para exibir métricas e gráficos.
Métricas de classificação
O ML automatizado calcula métricas de desempenho para cada modelo de classificação gerado para seu experimento. Essas métricas são baseadas na implementação do scikit learn.
Muitas métricas de classificação são definidas para classificação binária em duas classes e exigem média sobre classes para produzir uma pontuação para classificação de várias classes. O Scikit-learn fornece vários métodos de média, três dos quais o ML automatizado expõe: macro, micro e ponderado.
- Macro - Calcule a métrica para cada classe e tome a média não ponderada
- Micro - Calcule a métrica globalmente contando o total de verdadeiros positivos, falsos negativos e falsos positivos (independente das classes).
- Ponderado - Calcular a métrica para cada classe e tomar a média ponderada com base no número de amostras por classe.
Embora cada método de média tenha seus benefícios, uma consideração comum ao selecionar o método apropriado é o desequilíbrio de classe. Se as classes tiverem números diferentes de amostras, pode ser mais informativo usar uma média macro em que as classes minoritárias recebem o mesmo peso que as classes majoritárias. Saiba mais sobre métricas binárias vs multiclasse em ML automatizado.
A tabela a seguir resume as métricas de desempenho do modelo que o ML automatizado calcula para cada modelo de classificação gerado para seu experimento. Para obter mais detalhes, consulte a documentação scikit-learn vinculada no campo Cálculo de cada métrica.
Nota
Consulte a seção de métricas de imagem para obter detalhes adicionais sobre métricas para modelos de classificação de imagem.
Métrico | Description | Cálculo |
---|---|---|
AUC | AUC é a área sob a curva característica de funcionamento do recetor. Objetivo: Quanto mais próximo de 1, melhor Intervalo: [0, 1] Os nomes de métricas suportados incluem, AUC_macro , a média aritmética da AUC para cada classe.AUC_micro , calculado pela contagem do total de verdadeiros positivos, falsos negativos e falsos positivos. AUC_weighted , média aritmética da pontuação de cada classe, ponderada pelo número de ocorrências verdadeiras em cada classe. AUC_binary , o valor da AUC tratando uma classe específica como true classe e combinando todas as outras classes como false classe. |
Cálculo |
accuracy | Precisão é a proporção de previsões que correspondem exatamente aos rótulos de classe verdadeiros. Objetivo: Quanto mais próximo de 1, melhor Intervalo: [0, 1] |
Cálculo |
average_precision | A precisão média resume uma curva de recordação de precisão como a média ponderada das precisões alcançadas em cada limiar, com o aumento da recordação em relação ao limiar anterior usado como peso. Objetivo: Quanto mais próximo de 1, melhor Intervalo: [0, 1] Os nomes de métricas suportados incluem, average_precision_score_macro , a média aritmética da pontuação média de precisão de cada classe.average_precision_score_micro , calculado pela contagem do total de verdadeiros positivos, falsos negativos e falsos positivos.average_precision_score_weighted , a média aritmética da pontuação média de precisão para cada classe, ponderada pelo número de ocorrências verdadeiras em cada classe. average_precision_score_binary , o valor da precisão média, tratando uma classe específica como true classe e combinando todas as outras classes como false classe. |
Cálculo |
balanced_accuracy | A precisão equilibrada é a média aritmética da recordação para cada classe. Objetivo: Quanto mais próximo de 1, melhor Intervalo: [0, 1] |
Cálculo |
f1_score | A pontuação F1 é a média harmônica de precisão e recordação. É uma medida equilibrada de falsos positivos e falsos negativos. No entanto, não leva em conta os verdadeiros negativos. Objetivo: Quanto mais próximo de 1, melhor Intervalo: [0, 1] Os nomes de métricas suportados incluem, f1_score_macro : a média aritmética da pontuação F1 para cada classe. f1_score_micro : calculado pela contagem do total de verdadeiros positivos, falsos negativos e falsos positivos. f1_score_weighted : média ponderada por frequência de classe da pontuação F1 para cada classe. f1_score_binary , o valor de f1 tratando uma classe específica como true classe e combinando todas as outras classes como false classe. |
Cálculo |
log_loss | Esta é a função de perda usada na regressão logística (multinomial) e extensões dela, como redes neurais, definida como a log-probabilidade negativa dos rótulos verdadeiros dadas as previsões de um classificador probabilístico. Objetivo: Quanto mais próximo de 0, melhor Intervalo: [0, inf) |
Cálculo |
norm_macro_recall | A recordação macro normalizada é a macromédia e normalizada da recordação, de modo que o desempenho aleatório tem uma pontuação de 0 e o desempenho perfeito tem uma pontuação de 1. Objetivo: Quanto mais próximo de 1, melhor Intervalo: [0, 1] |
(recall_score_macro - R) / (1 - R) onde, R é o valor esperado de recall_score_macro para previsões aleatórias.R = 0.5 para a classificação binária. R = (1 / C) para problemas de classificação da classe C. |
matthews_correlation | O coeficiente de correlação de Matthews é uma medida equilibrada de precisão, que pode ser usada mesmo que uma classe tenha muito mais amostras do que outra. Um coeficiente de 1 indica previsão perfeita, 0 previsão aleatória e -1 previsão inversa. Objetivo: Quanto mais próximo de 1, melhor Intervalo: [-1, 1] |
Cálculo |
precisão | Precisão é a capacidade de um modelo de evitar rotular amostras negativas como positivas. Objetivo: Quanto mais próximo de 1, melhor Intervalo: [0, 1] Os nomes de métricas suportados incluem, precision_score_macro , a média aritmética da precisão para cada classe. precision_score_micro , calculado globalmente através da contagem do total de verdadeiros positivos e falsos positivos. precision_score_weighted , a média aritmética da precisão para cada classe, ponderada pelo número de ocorrências verdadeiras em cada classe. precision_score_binary , o valor da precisão, tratando uma classe específica como true classe e combinando todas as outras classes como false classe. |
Cálculo |
revocação | Recall é a capacidade de um modelo de detetar todas as amostras positivas. Objetivo: Quanto mais próximo de 1, melhor Intervalo: [0, 1] Os nomes de métricas suportados incluem, recall_score_macro : a média aritmética de recordação para cada classe. recall_score_micro : calculado globalmente contando o total de verdadeiros positivos, falsos negativos e falsos positivos.recall_score_weighted : a média aritmética de recordação para cada classe, ponderada pelo número de ocorrências verdadeiras em cada classe. recall_score_binary , o valor da recordação, tratando uma classe específica como true classe e combinando todas as outras classes como false classe. |
Cálculo |
weighted_accuracy | A exatidão ponderada é a exatidão em que cada amostra é ponderada pelo número total de amostras pertencentes à mesma classe. Objetivo: Quanto mais próximo de 1, melhor Intervalo: [0, 1] |
Cálculo |
Métricas de classificação binárias vs. multiclasse
O ML automatizado deteta automaticamente se os dados são binários e também permite que os usuários ativem métricas de classificação binária, mesmo que os dados sejam multiclasse especificando uma true
classe. As métricas de classificação de várias classes são relatadas se um conjunto de dados tiver duas ou mais classes. As métricas de classificação binária são relatadas somente quando os dados são binários.
Observe que as métricas de classificação multiclasse destinam-se à classificação multiclasse. Quando aplicadas a um conjunto de dados binário, essas métricas não tratam nenhuma classe como a true
classe, como você pode esperar. As métricas que são claramente destinadas a multiclasse são sufixadas com micro
, macro
ou weighted
. Exemplos incluem average_precision_score
, f1_score
, precision_score
, recall_score
, e AUC
. Por exemplo, em vez de calcular a recordação como tp / (tp + fn)
, a média da recordação multiclasse (micro
, macro
, ou weighted
) faz médias em ambas as classes de um conjunto de dados de classificação binária. Isso equivale a calcular o recall para a true
classe e a false
classe separadamente e, em seguida, tomar a média das duas.
Além disso, embora a deteção automática de classificação binária seja suportada, ainda é recomendável sempre especificar a true
classe manualmente para garantir que as métricas de classificação binária sejam calculadas para a classe correta.
Para ativar métricas para conjuntos de dados de classificação binária quando o conjunto de dados em si é multiclasse, os usuários só precisam especificar a classe a ser tratada como true
classe e essas métricas são calculadas.
A matriz de confusão
As matrizes de confusão fornecem um visual de como um modelo de aprendizado de máquina está cometendo erros sistemáticos em suas previsões para modelos de classificação. A palavra "confusão" no nome vem de um modelo "confuso" ou rotulando amostras incorretas. Uma célula em linha i
e coluna j
em uma matriz de confusão contém o número de amostras no conjunto de dados de avaliação que pertencem à classe C_i
e são classificadas pelo modelo como classe C_j
.
No estúdio, uma célula mais escura indica um número maior de amostras. A seleção do modo de exibição normalizado na lista suspensa normaliza em cada linha da matriz para mostrar a porcentagem da classe C_i
prevista como classe C_j
. O benefício da exibição Raw padrão é que você pode ver se o desequilíbrio na distribuição de classes reais fez com que o modelo classificasse incorretamente amostras da classe minoritária, um problema comum em conjuntos de dados desequilibrados.
A matriz de confusão de um bom modelo tem a maioria das amostras ao longo da diagonal.
Matriz de confusão para um bom modelo
Matriz de confusão para um mau modelo
Curva ROC
A curva ROC (receiver operating characteristic) traça a relação entre a taxa de verdadeiro positivo (TPR) e a taxa de falso positivo (FPR) à medida que o limiar de decisão muda. A curva ROC pode ser menos informativa ao treinar modelos em conjuntos de dados com alto desequilíbrio de classe, já que a classe majoritária pode abafar contribuições de classes minoritárias.
A área sob a curva (AUC) pode ser interpretada como a proporção de amostras corretamente classificadas. Mais precisamente, a AUC é a probabilidade de o classificador classificar uma amostra positiva escolhida aleatoriamente mais alta do que uma amostra negativa escolhida aleatoriamente. A forma da curva dá uma intuição para a relação entre TPR e FPR em função do limiar de classificação ou limite de decisão.
Uma curva que se aproxima do canto superior esquerdo do gráfico está se aproximando de 100% TPR e 0% FPR, o melhor modelo possível. Um modelo aleatório produziria uma curva ROC ao longo da y = x
linha do canto inferior esquerdo para o canto superior direito. Um modelo pior do que o aleatório teria uma curva ROC que cai abaixo da y = x
linha.
Gorjeta
Para experimentos de classificação, cada um dos gráficos de linhas produzidos para modelos automatizados de ML pode ser usado para avaliar o modelo por classe ou a média em todas as classes. Você pode alternar entre essas diferentes visualizações clicando em rótulos de classe na legenda à direita do gráfico.
Curva ROC para um bom modelo
Curva ROC para um modelo ruim
Curva de precisão-recuperação
A curva precisão-recordação traça a relação entre precisão e recordação à medida que o limiar de decisão muda. Recall é a capacidade de um modelo de detetar todas as amostras positivas e precisão é a capacidade de um modelo de evitar rotular amostras negativas como positivas. Alguns problemas de negócios podem exigir maior recall e alguma precisão maior, dependendo da importância relativa de evitar falsos negativos vs falsos positivos.
Gorjeta
Para experimentos de classificação, cada um dos gráficos de linhas produzidos para modelos automatizados de ML pode ser usado para avaliar o modelo por classe ou a média em todas as classes. Você pode alternar entre essas diferentes visualizações clicando em rótulos de classe na legenda à direita do gráfico.
Curva de recordação de precisão para um bom modelo
Curva de recordação de precisão para um modelo incorreto
Curva de ganhos cumulativos
A curva de ganhos cumulativos plota a porcentagem de amostras positivas corretamente classificadas em função da porcentagem de amostras consideradas onde consideramos amostras na ordem de probabilidade prevista.
Para calcular o ganho, primeiro classifique todas as amostras da maior para a menor probabilidade prevista pelo modelo. Em seguida, faça x%
as previsões de maior confiança. Divida o número de amostras positivas detetadas pelo x%
número total de amostras positivas para obter o ganho. O ganho cumulativo é a percentagem de amostras positivas que detetamos quando consideramos alguma percentagem dos dados que é mais provável pertencer à classe positiva.
Um modelo perfeito classifica todas as amostras positivas acima de todas as amostras negativas, dando uma curva de ganhos cumulativos composta por dois segmentos retos. A primeira é uma linha com inclinação 1 / x
de (0, 0)
onde está a (x, 1)
x
fração de amostras que pertencem à classe positiva (1 / num_classes
se as classes estiverem equilibradas). A segunda é uma linha horizontal de (x, 1)
até (1, 1)
. No primeiro segmento, todas as amostras positivas são classificadas corretamente e o ganho cumulativo vai para 100%
dentro da primeira x%
das amostras consideradas.
O modelo aleatório de linha de base tem uma curva de ganhos cumulativos seguindo y = x
onde para x%
as amostras consideradas apenas cerca x%
do total de amostras positivas foram detetadas. Um modelo perfeito para um conjunto de dados balanceado tem uma curva média micro e uma linha média macro que tem inclinação num_classes
até que o ganho acumulado seja 100% e, em seguida, horizontal até que a porcentagem de dados seja 100.
Gorjeta
Para experimentos de classificação, cada um dos gráficos de linhas produzidos para modelos automatizados de ML pode ser usado para avaliar o modelo por classe ou a média em todas as classes. Você pode alternar entre essas diferentes visualizações clicando em rótulos de classe na legenda à direita do gráfico.
Curva de ganhos acumulados para um bom modelo
Curva de ganhos acumulados para um modelo ruim
Curva de aumento
A curva de elevação mostra quantas vezes melhor um modelo tem um desempenho em comparação com um modelo aleatório. Lift é definido como a relação entre o ganho acumulado e o ganho cumulativo de um modelo aleatório (que deve ser 1
sempre ).
Esse desempenho relativo leva em conta o fato de que a classificação fica mais difícil à medida que você aumenta o número de classes. (Um modelo aleatório prevê incorretamente uma fração maior de amostras de um conjunto de dados com 10 classes em comparação com um conjunto de dados com duas classes)
A curva de elevação da linha de base é a y = 1
linha em que o desempenho do modelo é consistente com o de um modelo aleatório. Em geral, a curva de elevação para um bom modelo é mais alta nesse gráfico e mais distante do eixo x, mostrando que quando o modelo está mais confiante em suas previsões, ele tem um desempenho muitas vezes melhor do que adivinhações aleatórias.
Gorjeta
Para experimentos de classificação, cada um dos gráficos de linhas produzidos para modelos automatizados de ML pode ser usado para avaliar o modelo por classe ou a média em todas as classes. Você pode alternar entre essas diferentes visualizações clicando em rótulos de classe na legenda à direita do gráfico.
Curva de elevação para um bom modelo
Curva de elevação para um modelo ruim
Curva de calibração
A curva de calibração plota a confiança de um modelo em suas previsões em relação à proporção de amostras positivas em cada nível de confiança. Um modelo bem calibrado classificará corretamente 100% das previsões às quais atribui 100% de confiança, 50% das previsões que atribui 50% de confiança, 20% das previsões que atribui 20% de confiança, e assim por diante. Um modelo perfeitamente calibrado tem uma curva de calibração seguindo a y = x
linha onde o modelo prevê perfeitamente a probabilidade de que as amostras pertençam a cada classe.
Um modelo excessivamente confiante superprevê probabilidades próximas de zero e um, raramente sendo incerto sobre a classe de cada amostra e a curva de calibração será semelhante ao "S" para trás. Um modelo pouco confiante atribui, em média, uma probabilidade mais baixa à classe que prevê e a curva de calibração associada é semelhante a um "S". A curva de calibração não descreve a capacidade de um modelo de classificar corretamente, mas sim sua capacidade de atribuir confiança corretamente às suas previsões. Um modelo ruim ainda pode ter uma boa curva de calibração se o modelo atribuir corretamente baixa confiança e alta incerteza.
Nota
A curva de calibração é sensível ao número de amostras, de modo que um pequeno conjunto de validação pode produzir resultados ruidosos que podem ser difíceis de interpretar. Isso não significa necessariamente que o modelo não esteja bem calibrado.
Curva de calibração para um bom modelo
Curva de calibração para um modelo incorreto
Métricas de regressão/previsão
O ML automatizado calcula as mesmas métricas de desempenho para cada modelo gerado, independentemente de ser um experimento de regressão ou previsão. Essas métricas também passam por normalização para permitir a comparação entre modelos treinados em dados com intervalos diferentes. Para saber mais, consulte Normalização de métricas.
A tabela a seguir resume as métricas de desempenho do modelo geradas para experimentos de regressão e previsão. Assim como as métricas de classificação, essas métricas também são baseadas nas implementações do scikit learn. A documentação apropriada do scikit learn está vinculada de acordo, no campo Cálculo .
Métrico | Description | Cálculo |
---|---|---|
explained_variance | A variância explicada mede a extensão em que um modelo contabiliza a variação na variável alvo. É a diminuição percentual da variância dos dados originais para a variância dos erros. Quando a média dos erros é 0, é igual ao coeficiente de determinação (ver r2_score no gráfico seguinte). Objetivo: Quanto mais próximo de 1, melhor Intervalo: (-inf, 1] |
Cálculo |
mean_absolute_error | O erro absoluto médio é o valor esperado do valor absoluto da diferença entre o alvo e a previsão. Objetivo: Quanto mais próximo de 0, melhor Intervalo: [0, inf) Tipos: mean_absolute_error normalized_mean_absolute_error , o mean_absolute_error dividido pelo intervalo dos dados. |
Cálculo |
mean_absolute_percentage_error | O erro percentual absoluto médio (MAPE) é uma medida da diferença média entre um valor previsto e o valor real. Objetivo: Quanto mais próximo de 0, melhor Intervalo: [0, inf) |
|
median_absolute_error | O erro absoluto mediano é a mediana de todas as diferenças absolutas entre o alvo e a previsão. Esta perda é robusta para valores atípicos. Objetivo: Quanto mais próximo de 0, melhor Intervalo: [0, inf) Tipos: median_absolute_error normalized_median_absolute_error : o median_absolute_error dividido pelo intervalo dos dados. |
Cálculo |
r2_score | R2 (coeficiente de determinação) mede a redução proporcional do erro quadrático médio (EMS) em relação à variância total dos dados observados. Objetivo: Quanto mais próximo de 1, melhor Intervalo: [-1, 1] Nota: R2 geralmente tem o intervalo (-inf, 1). O MSE pode ser maior do que a variância observada, de modo que R2 pode ter valores negativos arbitrariamente grandes, dependendo dos dados e das previsões do modelo. Os clipes de ML automatizados relataram pontuações R2 em -1, portanto, um valor de -1 para R2 provavelmente significa que a pontuação R2 verdadeira é menor que -1. Considere os outros valores de métricas e as propriedades dos dados ao interpretar uma pontuação R2 negativa. |
Cálculo |
root_mean_squared_error | O erro quadrático médio da raiz (RMSE) é a raiz quadrada da diferença quadrada esperada entre o alvo e a previsão. Para um estimador imparcial, o RMSE é igual ao desvio padrão. Objetivo: Quanto mais próximo de 0, melhor Intervalo: [0, inf) Tipos: root_mean_squared_error normalized_root_mean_squared_error : o root_mean_squared_error dividido pelo intervalo dos dados. |
Cálculo |
root_mean_squared_log_error | O erro de log quadrado médio da raiz é a raiz quadrada do erro logarítmico quadrado esperado. Objetivo: Quanto mais próximo de 0, melhor Intervalo: [0, inf) Tipos: root_mean_squared_log_error normalized_root_mean_squared_log_error : o root_mean_squared_log_error dividido pelo intervalo dos dados. |
Cálculo |
spearman_correlation | A correlação de Spearman é uma medida não paramétrica da monotonicidade da relação entre dois conjuntos de dados. Ao contrário da correlação de Pearson, a correlação de Spearman não assume que ambos os conjuntos de dados são normalmente distribuídos. Como outros coeficientes de correlação, Spearman varia entre -1 e 1, com 0 implicando nenhuma correlação. Correlações de -1 ou 1 implicam uma relação monotônica exata. Spearman é uma métrica de correlação de ordem de classificação, o que significa que as mudanças nos valores previstos ou reais não alterarão o resultado de Spearman se não alterarem a ordem de classificação dos valores previstos ou reais. Objetivo: Quanto mais próximo de 1, melhor Intervalo: [-1, 1] |
Cálculo |
Normalização métrica
O ML automatizado normaliza métricas de regressão e previsão, que permitem a comparação entre modelos treinados em dados com intervalos diferentes. Um modelo treinado em dados com um intervalo maior tem um erro maior do que o mesmo modelo treinado em dados com um intervalo menor, a menos que esse erro seja normalizado.
Embora não haja um método padrão de normalização de métricas de erro, o ML automatizado adota a abordagem comum de dividir o erro pelo intervalo dos dados: normalized_error = error / (y_max - y_min)
Nota
O intervalo de dados não é salvo com o modelo. Se você fizer inferência com o mesmo modelo em um conjunto de testes de holdout, y_min
e y_max
pode mudar de acordo com os dados de teste e as métricas normalizadas podem não ser usadas diretamente para comparar o desempenho do modelo em conjuntos de treinamento e teste. Você pode passar o valor de y_min
e y_max
do seu conjunto de treinamento para tornar a comparação justa.
Métricas de previsão: normalização e agregação
O cálculo de métricas para a avaliação do modelo de previsão requer algumas considerações especiais quando os dados contêm várias séries temporais. Há duas opções naturais para agregar métricas em várias séries:
- Uma média macro em que as métricas de avaliação de cada série recebem o mesmo peso,
- Uma média micro em que as métricas de avaliação para cada previsão têm o mesmo peso.
Estes casos têm analogias diretas com a média macro e micro na classificação multiclasse.
A distinção entre média macro e micro pode ser importante ao selecionar uma métrica primária para a seleção do modelo. Por exemplo, considere um cenário de varejo em que você deseja prever a demanda por uma seleção de produtos de consumo. Alguns produtos são vendidos em volumes mais elevados do que outros. Se você escolher um RMSE micromédio como métrica primária, é possível que os itens de alto volume contribuam com a maior parte do erro de modelagem e, assim, dominem a métrica. O algoritmo de seleção de modelos pode favorecer modelos com maior precisão nos itens de alto volume do que nos de baixo volume. Em contraste, um RMSE normalizado com média macro dá aos itens de baixo volume aproximadamente o mesmo peso dos itens de alto volume.
A tabela a seguir lista quais das métricas de previsão do AutoML usam a média macro versus micro:
Média de macros | Micro média |
---|---|
normalized_mean_absolute_error , normalized_median_absolute_error , normalized_root_mean_squared_error , normalized_root_mean_squared_log_error |
mean_absolute_error , median_absolute_error , , root_mean_squared_error , r2_score root_mean_squared_log_error , explained_variance , spearman_correlation ,mean_absolute_percentage_error |
Observe que as métricas médias de macro normalizam cada série separadamente. As métricas normalizadas de cada série são então calculadas em média para dar o resultado final. A escolha correta de macro versus micro depende do cenário de negócios, mas geralmente recomendamos o uso normalized_root_mean_squared_error
do .
Residuais
O gráfico de resíduos é um histograma dos erros de previsão (residuais) gerados para experimentos de regressão e previsão. Os resíduos são calculados como y_predicted - y_true
para todas as amostras e, em seguida, exibidos como um histograma para mostrar o viés do modelo.
Neste exemplo, ambos os modelos são ligeiramente enviesados para prever valores inferiores ao valor real. Isso não é incomum para um conjunto de dados com uma distribuição distorcida de alvos reais, mas indica pior desempenho do modelo. Um bom modelo tem uma distribuição residual que atinge o pico de zero com poucos resíduos nos extremos. Um modelo pior tem uma distribuição de resíduos dispersa com menos amostras em torno de zero.
Gráfico de resíduos para um bom modelo
Gráfico de resíduos para um modelo incorreto
Previsto vs. verdadeiro
Para o experimento de regressão e previsão, o gráfico previsto vs. verdadeiro plota a relação entre o recurso de destino (valores verdadeiros/reais) e as previsões do modelo. Os valores verdadeiros são agrupados ao longo do eixo x e, para cada compartimento, o valor médio previsto é plotado com barras de erro. Isso permite que você veja se um modelo é tendencioso para prever certos valores. A linha exibe a previsão média e a área sombreada indica a variância das previsões em torno dessa média.
Muitas vezes, o valor real mais comum tem as previsões mais precisas com a menor variância. A distância da linha de tendência da linha ideal y = x
, onde há poucos valores verdadeiros, é uma boa medida do desempenho do modelo em valores atípicos. Você pode usar o histograma na parte inferior do gráfico para raciocinar sobre a distribuição real dos dados. A inclusão de mais amostras de dados em que a distribuição é escassa pode melhorar o desempenho do modelo em dados não vistos.
Neste exemplo, observe que o melhor modelo tem uma linha prevista versus verdadeira que está mais próxima da linha ideal y = x
.
Gráfico previsto vs. verdadeiro para um bom modelo
Gráfico previsto vs. verdadeiro para um modelo incorreto
Horizonte de previsão
Para experimentos de previsão, o gráfico do horizonte de previsão plota a relação entre o valor previsto dos modelos e os valores reais mapeados ao longo do tempo por dobra de validação cruzada, até cinco vezes. O eixo x mapeia o tempo com base na frequência fornecida durante a configuração do treinamento. A linha vertical no gráfico marca o ponto do horizonte de previsão, também conhecido como linha do horizonte, que é o período de tempo no qual você gostaria de começar a gerar previsões. À esquerda da linha do horizonte de previsão, você pode visualizar dados históricos de treinamento para visualizar melhor as tendências passadas. À direita do horizonte de previsão, você pode visualizar as previsões (a linha roxa) em relação aos reais (a linha azul) para as diferentes dobras de validação cruzada e identificadores de séries temporais. A área roxa sombreada indica os intervalos de confiança ou a variância das previsões em torno dessa média.
Você pode escolher quais combinações de dobra de validação cruzada e identificador de série temporal exibir clicando no ícone de lápis editado no canto superior direito do gráfico. Selecione entre as cinco primeiras dobras de validação cruzada e até 20 identificadores de séries temporais diferentes para visualizar o gráfico para suas várias séries temporais.
Importante
Este gráfico está disponível na execução de treinamento para modelos gerados a partir de dados de treinamento e validação, bem como na execução de teste com base em dados de treinamento e dados de teste. Permitimos até 20 pontos de dados antes e até 80 pontos de dados após a origem da previsão. Para modelos DNN, este gráfico na execução de treinamento mostra dados da última época, ou seja, depois que o modelo foi treinado completamente. Este gráfico na execução de teste pode ter uma lacuna antes da linha do horizonte se os dados de validação foram explicitamente fornecidos durante a execução de treinamento. Isso ocorre porque os dados de treinamento e os dados de teste são usados na execução do teste, deixando de fora os dados de validação que resultam em lacuna.
Métricas para modelos de imagem (visualização)
O ML automatizado usa as imagens do conjunto de dados de validação para avaliar o desempenho do modelo. O desempenho do modelo é medido em um nível de época para entender como o treinamento progride. Uma época decorre quando um conjunto de dados inteiro é passado para frente e para trás através da rede neural exatamente uma vez.
Métricas de classificação de imagens
A principal métrica para avaliação é a precisão para modelos de classificação binários e multiclasses e IoU (Intersection over Union) para modelos de classificação multilabel. As métricas de classificação para modelos de classificação de imagem são as mesmas definidas na seção de métricas de classificação. Os valores de perda associados a uma época também são registrados, o que pode ajudar a monitorar como o treinamento progride e determinar se o modelo está sobreajustado ou subajustado.
Toda previsão de um modelo de classificação está associada a um escore de confiança, que indica o nível de confiança com o qual a previsão foi feita. Os modelos de classificação de imagens multilabel são, por padrão, avaliados com um limiar de pontuação de 0,5, o que significa que apenas previsões com pelo menos esse nível de confiança são consideradas como uma previsão positiva para a classe associada. A classificação multiclasse não usa um limite de pontuação, mas em vez disso, a classe com a pontuação máxima de confiança é considerada como a previsão.
Métricas de nível de época para classificação de imagens
Ao contrário das métricas de classificação para conjuntos de dados tabulares, os modelos de classificação de imagem registram todas as métricas de classificação em um nível de época, conforme mostrado abaixo.
Métricas de resumo para classificação de imagens
Além das métricas escalares que são registradas no nível da época, o modelo de classificação de imagem também registra métricas de resumo como matriz de confusão, gráficos de classificação incluindo curva ROC, curva de recordação de precisão e relatório de classificação para o modelo da melhor época em que obtemos a maior pontuação de métrica primária (precisão).
O relatório de classificação fornece os valores de nível de classe para métricas como precisão, recordação, pontuação f1, suporte, auc e average_precision com vários níveis de média - micro, macro e ponderada, conforme mostrado abaixo. Consulte as definições de métricas na seção de métricas de classificação.
Deteção de objetos e métricas de segmentação de instâncias
Cada previsão de um modelo de deteção de objeto de imagem ou segmentação de instância está associada a uma pontuação de confiança.
As previsões com pontuação de confiança maior que o limiar de pontuação são saídas como previsões e usadas no cálculo métrico, cujo valor padrão é específico do modelo e pode ser referido a partir da página de ajuste de hiperparâmetro(box_score_threshold
hyperparameter).
O cálculo métrico de um modelo de deteção de objeto de imagem e segmentação de instância é baseado em uma medida de sobreposição definida por uma métrica chamada IoU (Intersection over Union) que é calculada dividindo a área de sobreposição entre a verdade-base e as previsões pela área de união da verdade-base e as previsões. A IoU calculada a partir de cada previsão é comparada com um limiar de sobreposição chamado limiar de IoU, que determina o quanto uma previsão deve se sobrepor a uma verdade fundamental anotada pelo usuário para ser considerada como uma previsão positiva. Se a IoU calculada a partir da previsão for menor do que o limiar de sobreposição, a previsão não será considerada como uma previsão positiva para a classe associada.
A principal métrica para a avaliação de modelos de deteção de objetos de imagem e segmentação de instâncias é a precisão média (mAP). O mAP é o valor médio da precisão média (AP) em todas as classes. Modelos automatizados de deteção de objetos ML suportam a computação de mAP usando os dois métodos populares abaixo.
Métricas de COV Pascal:
Pascal VOC mAP é a forma padrão de computação mAP para modelos de segmentação de deteção de objetos/instância. O método mAP estilo Pascal VOC calcula a área sob uma versão da curva de recordação de precisão. Primeiro p(ri), que é a precisão no recall i é calculado para todos os valores de recall exclusivos. p(ri) é então substituído pela precisão máxima obtida para qualquer recall r' >= ri. O valor da precisão é monotonicamente decrescente nesta versão da curva. A métrica Pascal VOC mAP é, por padrão, avaliada com um limite de IoU de 0,5. Uma explicação detalhada deste conceito está disponível neste blog.
Métricas COCO:
O método de avaliação COCO usa um método interpolado de 101 pontos para o cálculo da AP, juntamente com uma média superior a dez limiares de IoU. AP@[.5:.95] corresponde ao AP médio para IoU de 0,5 a 0,95 com um tamanho de passo de 0,05. O ML automatizado registra todas as 12 métricas definidas pelo método COCO, incluindo o AP e o AR (recuperação média) em várias escalas nos logs do aplicativo, enquanto a interface do usuário de métricas mostra apenas o mAP em um limite de IoU de 0,5.
Gorjeta
A avaliação do modelo de deteção de objeto de imagem pode usar métricas coco se o validation_metric_type
hiperparâmetro estiver definido como 'coco', conforme explicado na seção de ajuste de hiperparâmetros.
Métricas de nível de época para deteção de objetos e segmentação de instâncias
Os valores mAP, precisão e recuperação são registrados em um nível de época para modelos de segmentação de instância/deteção de objeto de imagem. As métricas mAP, precisão e recall também são registradas em um nível de classe com o nome 'per_label_metrics'. O "per_label_metrics" deve ser visto como uma tabela.
Nota
Métricas de nível de época para precisão, recall e per_label_metrics não estão disponíveis ao usar o método 'coco'.
Painel de IA responsável para o melhor modelo AutoML recomendado (visualização)
O painel de IA Responsável do Azure Machine Learning fornece uma interface única para ajudá-lo a implementar a IA Responsável na prática de forma eficaz e eficiente. O painel de IA responsável só é suportado usando dados tabulares e só é suportado em modelos de classificação e regressão. Reúne várias ferramentas maduras de IA Responsável nas áreas de:
- Avaliação do desempenho e equidade do modelo
- Exploração de dados
- Interpretabilidade de aprendizado de máquina
- Análise de erros
Embora as métricas e os gráficos de avaliação do modelo sejam bons para medir a qualidade geral de um modelo, operações como inspecionar a equidade do modelo, visualizar suas explicações (também conhecidas como qual conjunto de dados apresenta um modelo usado para fazer suas previsões), inspecionar seus erros e possíveis pontos cegos são essenciais ao praticar IA responsável. É por isso que o ML automatizado fornece um painel de IA responsável para ajudá-lo a observar vários insights para o seu modelo. Veja como exibir o painel de IA Responsável no estúdio de Aprendizado de Máquina do Azure.
Veja como você pode gerar esse painel por meio da interface do usuário ou do SDK.
Explicações do modelo e importância dos recursos
Embora as métricas e gráficos de avaliação de modelo sejam bons para medir a qualidade geral de um modelo, inspecionar quais recursos de conjunto de dados um modelo usa para fazer previsões é essencial ao praticar IA responsável. É por isso que o ML automatizado fornece um painel de explicações do modelo para medir e relatar as contribuições relativas dos recursos do conjunto de dados. Veja como exibir o painel de explicações no estúdio do Azure Machine Learning.
Nota
A interpretabilidade, a melhor explicação do modelo, não está disponível para experimentos automatizados de previsão de ML que recomendam os seguintes algoritmos como o melhor modelo ou conjunto:
- TCNForecaster
- AutoArima
- Suavização Exponencial
- Profeta
- Média
- Ingênuo
- Média Sazonal
- Sazonal ingênuo
Próximos passos
- Experimente os blocos de anotações de exemplo de explicação do modelo de aprendizado de máquina automatizado.
- Para perguntas específicas de ML automatizadas, entre em contato com askautomatedml@microsoft.com.