Partilhar via


Métricas de avaliação

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

A avaliação do modelo é acionada automaticamente após a conclusão bem-sucedida do treinamento. O processo de avaliação começa usando o modelo treinado para prever classes definidas pelo usuário para documentos no conjunto de testes e as compara com as tags de dados fornecidas (que estabelece uma linha de base de verdade). Os resultados são retornados para que você possa analisar o desempenho do modelo. Para avaliação, a classificação de texto personalizada usa as seguintes métricas:

  • Precisão: Mede o quão preciso/preciso é o seu modelo. É a relação entre os positivos corretamente identificados (verdadeiros positivos) e todos os positivos identificados. A métrica de precisão revela quantas das classes previstas estão corretamente rotuladas.

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

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

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

  • Pontuação F1: A pontuação F1 é uma função de Precisão e Recordação. É necessário quando você busca um equilíbrio entre Precisão e Recordação.

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

Nota

A precisão, o recall e a pontuação F1 são calculados para cada classe separadamente (avaliação em nível de classe) e para o modelo coletivamente (avaliação em nível de modelo).

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

As definições de precisão, recordação e avaliação são as mesmas para avaliações de nível de classe e de nível de 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 conjunto de dados de exemplo:

Documento Aulas reais Classes previstas
1 ação, comédia Comédia
2 action action
3 romance romance
4 romance, comédia romance
5 Comédia action

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

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

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

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

Pontuação F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5

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

Chave Count Explicação
Verdadeiro positivo 1 O documento 1 foi corretamente classificado como comédia.
Falso positivo 0 Nenhum documento foi erroneamente classificado como comédia.
Falso negativo 2 Os documentos 5 e 4 não foram classificados como comédia , embora devessem ter.

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

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

Pontuação F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 1 * 0.67) / (1 + 0.67) = 0.80

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

Chave Count Explicação
Verdadeiro Positivo 4 Os documentos 1, 2, 3 e 4 receberam aulas corretas na previsão.
Falso Positivo 1 O documento 5 recebeu uma classe errada 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

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

Pontuação F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.8 * 0.67) / (0.8 + 0.67) = 0.73

Nota

Para modelos de classificação de rótulo único, a contagem de falsos negativos e falsos positivos é sempre igual. Os 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 aumenta em um e FN da classe real aumenta em um, a contagem geral de FP e FN para o modelo será sempre igual. Este não é o caso da classificação multi-rótulo, porque não prever uma das classes de um documento é contado como um falso negativo.

Interpretação de métricas de avaliação de nível de classe

Então, o que realmente significa ter uma alta precisão ou um alto recall para uma determinada classe?

Recuperar Precisão Interpretação
Alto Alto Esta classe é perfeitamente manipulada pelo modelo.
Baixa Alta O modelo nem sempre consegue prever esta classe, mas quando o faz é com grande confiança. Isso pode ser porque essa classe está sub-representada no conjunto de dados, portanto, considere equilibrar sua distribuição de dados.
Alto Baixo O modelo prevê bem esta classe, no entanto é com baixa confiança. Isso pode ocorrer porque essa classe está sobre-representada no conjunto de dados, portanto, considere equilibrar sua distribuição de dados.
Baixo Baixo Esta classe é mal tratada pelo modelo onde geralmente não é prevista e quando é, não é com alta confiança.

Espera-se que os modelos de classificação de texto personalizados apresentem falsos negativos e falsos positivos. Você precisa considerar como cada um afetará o sistema geral e pensar cuidadosamente em cenários em que o modelo ignorará previsões corretas e reconhecerá previsões incorretas. Dependendo do seu cenário, a precisão ou o recall podem ser mais adequados para avaliar o desempenho do seu modelo.

Por exemplo, se o seu cenário envolve o processamento de tíquetes de suporte técnico, prever a classe errada pode fazer com que ela seja encaminhada para o departamento/equipe errados. Neste exemplo, você deve considerar tornar seu 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 e-mails como "importantes" ou "spam", uma previsão incorreta pode fazer com que você perca um e-mail útil se ele estiver rotulado como "spam". No entanto, se um e-mail de spam for rotulado como importante , você pode ignorá-lo. Neste exemplo, você deve considerar tornar seu 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 precisão e recall são importantes, você pode utilizar a pontuação F1. As pontuações da avaliação são subjetivas, dependendo do seu cenário e dos critérios de aceitação. Não existe uma métrica absoluta que funcione para todos os cenários.

Orientação

Depois de treinar seu modelo, você verá algumas orientações e recomendações sobre como melhorar o modelo. Recomenda-se ter um modelo que abranja todos os pontos na seção de orientação.

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

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

  • Os tipos de classe são equilibrados dentro de 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 esperar que esse tipo de classe ocorra com muita frequência ou com pouca frequência.

  • 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 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 menor precisão, porque os tipos de classe podem ser frequentemente classificados incorretamente entre si.

A matriz de confusão

Importante

A matriz de confusão não está disponível para projetos de classificação multirótulo. Uma matriz de confusão é uma matriz N x N usada para avaliação de desempenho do modelo, onde N é o número de classes. A matriz compara os rótulos esperados com os previstos pelo modelo. Isso dá uma visão holística do desempenho do modelo e dos tipos de erros que está cometendo.

Você pode usar a matriz Confusão para identificar classes que estão muito próximas umas das outras e muitas vezes se confundem (ambiguidade). Neste caso, considere a fusão dessas classes. Se isso não for possível, considere rotular mais documentos com ambas as classes para ajudar o modelo a diferenciá-los.

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

Uma captura de tela de uma matriz de confusão de exemplo.

Você pode calcular as métricas de avaliação no nível da classe e no nível do modelo a partir da matriz de confusão:

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

Do mesmo modo,

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

Próximos passos