Métricas de avaliação

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

A avaliação do modelo é ativada automaticamente após o treino ser concluído com sucesso. O processo de avaliação começa por utilizar o modelo treinado para prever as classes definidas pelo utilizador para documentos no conjunto de testes, e compara-as com as etiquetas de dados fornecidas (que estabelece uma linha de base da verdade). Os resultados são devolvidos para que possa rever o desempenho do modelo. Para avaliação, a classificação de texto personalizado utiliza as seguintes métricas:

  • Precisão: Mede a precisão/precisão do seu modelo. É o rácio 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)

  • Lembre-se: Mede a capacidade do modelo de prever classes positivas reais. É o rácio entre os verdadeiros positivos previstos e o que foi realmente marcado. A métrica de recordação revela quantas das classes previstas estão corretas.

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

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

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

Nota

A precisão, a recolha e a pontuação F1 são calculadas para cada classe separadamente (avaliação ao nível da classe ) e para o modelo coletivamente (avaliação ao nível do modelo ).

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

As definições de precisão, recordação e avaliação são as mesmas tanto para avaliações a nível de classe como para o nível de modelo. No entanto, a contagem de True Positive, False Positive e False Negative diferem como mostrado no exemplo seguinte.

As secções abaixo utilizam o seguinte conjunto de dados de exemplo:

Documento Aulas reais Aulas 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 a nível de classe para a classe de ação

Chave de palavras 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

Lembre-se = #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 de nível de classe para a aula de comédia

Chave de palavras 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 , como deviam.

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

Lembre-se = #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 a nível de modelo para o modelo coletivo

Chave de palavras Explicação
Verdadeiro Positivo 4 Os documentos 1, 2, 3 e 4 receberam aulas corretas na previsão.
Falso Positivo 1 O documento 5 foi dado a uma classe errada na previsão.
Falso Negativo 2 Os documentos 1 e 4 não receberam todas as aulas corretas na previsão.

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

Lembre-se = #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 os modelos de classificação de rótulo único, a contagem de falsos negativos e falsos positivos são sempre iguais. Os modelos de classificação de rótulo único personalizados preveem sempre 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 por um, a contagem global de FP e FN para o modelo será sempre igual. Não é o caso da classificação multi-rótulo, porque não prever uma das classes de um documento é contada como falsa negativa.

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

Então, o que significa realmente ter uma alta precisão ou uma alta recordação para uma certa classe?

Chamar de volta Precisão Interpretação
Alto Alto Esta aula é perfeitamente tratada pelo modelo.
Baixo Alto O modelo nem sempre pode prever esta classe, mas quando o faz é com muita confiança. Isto pode ser porque esta classe está sub-representada no conjunto de dados, por isso considere equilibrar a sua distribuição de dados.
Alto Baixo O modelo prevê bem esta classe, no entanto é com pouca confiança. Isto pode ser porque esta classe está sobre-representada no conjunto de dados, por isso considere equilibrar a sua distribuição de dados.
Baixo Baixo Esta classe é mal tratada pelo modelo onde normalmente não é prevista e quando é, não é com grande confiança.

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

Por exemplo, se o seu cenário envolve o processamento de bilhetes de apoio técnico, prever a classe errada pode fazer com que seja encaminhado para o departamento/equipa errado. Neste exemplo, deve considerar tornar o seu sistema mais sensível a falsos positivos, e a precisão seria uma métrica mais relevante para a avaliação.

Como outro exemplo, se o seu cenário envolve classificar o e-mail como "importante" ou "spam", uma previsão incorreta pode fazer com que perca um e-mail útil se for rotulado de "spam". No entanto, se um e-mail de spam for rotulado de importância , pode ignorá-lo. Neste exemplo, deve considerar tornar o seu sistema mais sensível a falsos negativos, e recordar seria uma métrica mais relevante para a avaliação.

Se quiser otimizar para cenários de finalidade geral ou quando a precisão e a recuperação forem importantes, pode utilizar a pontuação de F1. As pontuações de avaliação são subjetivas dependendo do seu cenário e critérios de aceitação. Não há uma métrica absoluta que funcione para todos os cenários.

Orientação

Depois de treinar o seu modelo, verá alguma orientação e recomendação sobre como melhorar o modelo. Recomenda-se ter um modelo que cubra todos os pontos na secção de orientação.

  • O conjunto de formação tem dados suficientes: Quando um tipo de classe tem menos de 15 instâncias etiquetadas nos dados de treino, pode levar a uma menor precisão devido ao modelo não ter sido devidamente treinado nestes casos.

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

  • Os tipos de classe são equilibrados dentro dos conjuntos de treino e teste: Quando o enviesamento de amostragem provoca uma representação imprecisa da frequência de um tipo de classe, pode levar a uma menor precisão devido ao modelo que espera que esse tipo de classe ocorra com demasiada frequência ou pouco.

  • Os tipos de classe são distribuídos uniformemente entre os conjuntos de treino e de teste: Quando a mistura de tipos de classe não coincide entre os conjuntos de treino e teste, pode levar a uma menor precisão de teste devido ao modelo ser treinado de forma diferente da forma como está a ser testado.

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

A matriz de confusão

Importante

A matriz de confusão não está disponível para projetos de classificação multi-rótulos. 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 as etiquetas esperadas com as previstas pelo modelo. Isto dá uma visão holística de como o modelo está a funcionar bem e que tipos de erros está a cometer.

Pode utilizar a matriz de confusão para identificar classes demasiado próximas umas das outras e muitas vezes se enganam (ambiguidade). Neste caso, considere fundir estas classes em conjunto. Se isso não for possível, considere rotular mais documentos com ambas as classes para ajudar o modelo a diferenciar entre eles.

Todas as previsões corretas estão localizadas na diagonal da tabela, pelo que é fácil inspecionar visualmente a tabela para obter erros de previsão, uma vez que serão representadas por valores fora da diagonal.

Uma imagem de uma matriz de confusão exemplo.

Pode calcular as métricas de avaliação de nível de classe e modelo a partir da matriz de confusão:

  • Os valores na diagonal são os valores Verdadeiros Positivos 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.

Da mesma forma:

  • O verdadeiro positivo do modelo é a soma dos 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.

Passos seguintes