Métricas da avaliação

Seu conjunto de dados é dividido em duas partes: um conjunto para treinamento e um conjunto para teste. O conjunto de treinamento é usado para treinar o modelo, enquanto o conjunto de teste é usado como um teste para o modelo após o treinamento para calcular o desempenho e a avaliação do modelo. O conjunto de teste não é introduzido no modelo por meio do processo de treinamento, para garantir que o modelo seja testado em novos dados.

A avaliação do modelo é disparada automaticamente depois que o treinamento é concluído com êxito. O processo de avaliação começa usando o modelo treinado para prever classes dos documentos do conjunto de teste definidas pelo usuário e as compara com as marcas de dados fornecidas (que estabelecem uma linha de base da verdade). Os resultados são retornados para que você possa revisar o desempenho do modelo. Para avaliação, a classificação de textos personalizada usa as seguintes métricas:

  • Precisão: mede a precisão/exatidão do modelo. É a taxa entre os positivos identificados corretamente (verdadeiros positivos) e todos os positivos identificados. A métrica de precisão revela quantas das classes previstas estão rotuladas corretamente.

    Precision = #True_Positive / (#True_Positive + #False_Positive)

  • Recall: mede a capacidade do modelo de prever classes positivas reais. É a taxa entre os verdadeiros positivos previstos e o que foi realmente marcado. A métrica de recall revelam quantas das classes previstas estão corretas.

    Recall = #True_Positive / (#True_Positive + #False_Negatives)

  • Medida f: a medida f é uma função de Precisão e Recall. Ela é necessária quando você busca um equilíbrio entre Precisão e Recall.

    F1 Score = 2 * Precision * Recall / (Precision + Recall)

Observação

Precisão, recall e medida f são calculadas separadamente para cada classe (avaliação no nível da classe) e coletivamente para o modelo (avaliação no nível do modelo).

Métricas de avaliação no nível do modelo e no nível da classe

As definições de precisão, recall e avaliação são as mesmas para avaliações no nível da classe e no nível do modelo. No entanto, a contagem de Verdadeiro Positivo, Falso Positivo e Falso Negativo diferem conforme mostrado no exemplo a seguir.

As seções abaixo usam o seguinte exemplo de conjunto de dados:

Document Classes reais Classes previstas
1 ação, comédia comédia
2 ação ação
3 romance romance
4 romance, comédia romance
5 comédia ação

Avaliação em nível de classe para a classe ação

Chave Contagem Explicação
Verdadeiro Positivo 1 O documento 2 foi classificado corretamente como ação.
Falso Positivo 1 O documento 5 foi classificado incorretamente como ação.
Falso Negativo 1 O documento 1 não foi classificado como Ação, embora ele devesse ter sido.

Precisão = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 1) = 0.5

Recall = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 1) = 0.5

Medida f = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5

Avaliação em nível de classe para a classe de comédia

Chave Contagem Explicação
Verdadeiro positivo 1 O documento 1 foi classificado corretamente como comedy.
Falso positivo 0 Nenhum arquivo foi classificado incorretamente como comedy.
Falso negativo 2 Os documentos 5 e 4 não foram classificados como comedy, embora devessem ter sido.

Precisão = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 0) = 1

Recall = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 2) = 0.33

Medida f = 2 * Precision * Recall / (Precision + Recall) = (2 * 1 * 0.67) / (1 + 0.67) = 0.80

Avaliação no nível do modelo para o modelo coletivo

Chave Contagem Explicação
Verdadeiro Positivo 4 Os documentos 1, 2, 3 e 4 receberam classes corretas na previsão.
Falso Positivo 1 O documento 5 recebeu uma classe incorreta na previsão.
Falso Negativo 2 Os documentos 1 e 4 não receberam todas as classes corretas na previsão.

Precisão = #True_Positive / (#True_Positive + #False_Positive) = 4 / (4 + 1) = 0.8

Recall = #True_Positive / (#True_Positive + #False_Negatives) = 4 / (4 + 2) = 0.67

Medida f = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.8 * 0.67) / (0.8 + 0.67) = 0.73

Observação

Para modelos de classificação de rótulo único, a contagem de falsos negativos e falsos positivos é sempre igual. Modelos personalizados de classificação de rótulo único sempre preveem uma classe para cada documento. Se a previsão não estiver correta, a contagem de FP da classe prevista aumentará em um e o FN da classe real aumentará em um; a contagem geral de FP e FN para o modelo sempre será igual. Esse não é o caso da classificação de vários rótulos, pois a falha ao prever uma das classes de um documento é contabilizada como um falso negativo.

Como interpretar métricas de avaliação no nível da classe

O que significa ter uma precisão ou recall alto para uma determinada classe?

Chamar de volta Precisão Interpretação
Alto Alto Essa classe é perfeitamente manipulada pelo modelo.
Baixo Alto O modelo nem sempre pode prever essa classe, mas quando consegue, faz isso com alta confiança. Isso pode ser devido a essa classe ser sub-representada no conjunto de dados, portanto, considere equilibrar sua distribuição de dados.
Alto Baixo O modelo prevê bem essa classe, no entanto, com pouca confiança. Isso pode ser devido a essa classe ser super-representada no conjunto de dados, portanto, considere equilibrar sua distribuição de dados.
Baixo Baixo Essa classe não é bem processada pelo modelo, em que normalmente não é prevista e, quando é, não é com alta confiança.

É esperado que os modelos de classificação de textos personalizada apresentem falsos negativos e falsos positivos. Você precisa considerar como cada um afetará o sistema geral e pensar com cuidado em cenários em que o modelo vai ignorar as previsões corretas e reconhecer previsões incorretas. Dependendo do seu cenário, a precisão ou o recall pode ser mais adequado para avaliar o desempenho do modelo.

Por exemplo, se seu cenário envolve o processamento de tíquetes de suporte técnico, a previsão da classe errada poderá fazer com que o tíquete seja encaminhado ao departamento/à equipe incorreta. Neste exemplo, você deve considerar tornar o sistema mais sensível a falsos positivos e a precisão seria uma métrica mais relevante para avaliação.

Como outro exemplo, se o seu cenário envolve a categorização de email como "importante" ou "spam", uma previsão incorreta pode provocar a perda de um email útil se ele for rotulado como "spam". No entanto, se um email de spam for rotulado como importante, você poderá desconsiderar isso. Neste exemplo, você deve considerar tornar o sistema mais sensível a falsos negativos e o recall seria uma métrica mais relevante para avaliação.

Se você quiser otimizar para cenários de uso geral ou quando a precisão e o recall forem importantes, poderá utilizar a medida f. As pontuações de avaliação são subjetivas com base no seu cenário e nos critérios de aceitação. Não há métrica absoluta que funcione para todos os cenários.

Diretrizes

Depois de treinar seu modelo, você verá algumas diretrizes e recomendações sobre como melhorá-lo. É recomendável ter um modelo que abrange todos os pontos na seção de diretrizes.

  • O conjunto de treinamento tem dados suficientes: quando um tipo de classe tem menos de 15 instâncias rotuladas nos dados de treinamento, ele pode levar a uma precisão menor devido ao modelo não ser devidamente treinado nesses casos.

  • Todos os tipos de classe estão presentes no conjunto de testes: quando os dados de teste não têm instâncias rotuladas para um tipo de classe, o desempenho de teste do modelo pode se tornar menos abrangente devido a cenários não testados.

  • Os tipos de classe são equilibrados em conjuntos de treinamento e teste: quando o viés de amostragem causa uma representação imprecisa da frequência de um tipo de classe, isso pode levar a uma precisão menor devido ao modelo que espera que esse tipo de classe ocorra com muita frequência ou muito pouco.

  • Os tipos de classe são distribuídos uniformemente entre conjuntos de treinamento e teste: quando a combinação de tipos de classe não corresponde entre conjuntos de treinamento e teste, isso pode levar a uma menor precisão de teste devido ao modelo ser treinado de forma diferente de como ele está sendo testado.

  • Os tipos de classe no conjunto de treinamento são claramente distintos: quando os dados de treinamento são semelhantes para vários tipos de classe, isso pode levar a uma precisão menor porque os tipos de classe podem ser frequentemente classificados incorretamente como uns aos outros.

Matriz de confusão

Importante

A matriz de confusão não está disponível para projetos de classificação de vários rótulos. Uma matriz de confusão é uma matriz N x N usada para avaliação de desempenho do modelo, em que N é o número de classes. A matriz compara os rótulos esperados com os previstos pelo modelo. Isso fornece uma visão holística de quão bem o modelo está sendo executado e de quais tipos de erros ele está cometendo.

É possível usar a matriz de confusão para identificar classes que estão muito próximas umas das outras e que muitas vezes são confundidas (ambiguidade). Nesse caso, considere mesclar essas classes. Se isso não for possível, considere rotular mais documentos com ambas as classes para ajudar o modelo a diferenciá-las.

Todas as previsões corretas estão localizadas na diagonal da tabela, portanto, é fácil inspecionar visualmente a tabela em busca de erros de previsão, pois elas serão representadas por valores fora da diagonal.

A screenshot of an example confusion matrix.

É possível calcular as métricas de avaliação no nível de classe e de modelo da matriz de confusão:

  • Os valores na diagonal são os valores verdadeiros positivos de cada classe.
  • A soma dos valores nas linhas da classe (excluindo a diagonal) é o falso positivo do modelo.
  • A soma dos valores nas colunas da classe (excluindo a diagonal) é o falso negativo do modelo.

De maneira semelhante,

  • O verdadeiro positivo do modelo é a soma de verdadeiros positivos para todas as classes.
  • O falso positivo do modelo é a soma de falsos positivos para todas as classes.
  • O falso negativo do modelo é a soma de falsos negativos para todas as classes.

Próximas etapas