Como posso facilitar a leitura de grandes matrizes de confusão?

9

Publiquei recentemente um conjunto de dados ( link ) com 369 classes. Fiz algumas experiências com eles para ter uma idéia de quão difícil é a tarefa de classificação. Normalmente, eu gosto se houver matrizes de confusão para ver o tipo de erro que está sendo cometido. No entanto, um matriz não é prático.369×369

Existe uma maneira de fornecer informações importantes de grandes matrizes de confusão? Por exemplo, geralmente existem muitos 0s que não são tão interessantes. É possível classificar as classes para que a maioria das entradas diferentes de zero fique na diagonal para permitir a exibição de várias matrizes que fazem parte da matriz de confusão completa?

Aqui está um exemplo para uma grande matriz de confusão .

Exemplos em estado selvagem

A Figura 6 do EMNIST parece legal:

insira a descrição da imagem aqui

É fácil ver onde estão muitos casos. No entanto, essas são apenas classes. Se a página inteira fosse usada em vez de apenas uma coluna, isso provavelmente poderia ser três vezes maior, mas ainda seriam apenas 3 × 26 = 78 classes. Nem mesmo perto de 369 classes de HASY ou 1000 de ImageNet.26326=78

Veja também

Minha pergunta semelhante no CS.stackexchange

Martin Thoma
fonte
Tenho pena de você ;-) Você pode tentar as matrizes de confusão de um vs. todos para cada uma das classes. Dado eles, aparência ou classes em que o comportamento não é típico e use uma matriz de confusão completa apenas sobre eles.
dal
11
Por que não apenas relatar a precisão do modelo para cada categoria. Quem realmente precisa ver toda a matriz?
Darrin Thomas
11
@DarrinThomas Não se trata apenas de denunciá-lo em um artigo. É também sobre a análise de erros.
Martin Thoma
11
Primeiramente, você pode normalizar os valores em linhas e, em seguida, plotá-los como um mapa de calor. Além disso, você pode classificar a classe pela precisão classwise (valor normalizado na diagonal). Suponho que isso aumentaria bastante a legibilidade.
Nicolas Rieble
11
Eu provavelmente deveria perguntar isso em math.SE / stackoverflow novamente. Tenho certeza de que existem algoritmos que reordenam as linhas / colunas de forma que a maior parte do valor seja próxima da diagonal.
Martin Thoma

Respostas:

4

Você pode aplicar uma técnica que descrevi na minha tese de mestrado (página 48 e seguintes) e chamada Confusion Matrix Ordering (CMO):

  1. Ordene as colunas / linhas de tal maneira que a maioria dos erros esteja na diagonal.
  2. Divida a matriz de confusão em vários blocos para que os blocos únicos possam ser impressos / visualizados facilmente - e para que você possa remover alguns dos blocos porque existem poucos pontos de dados.

Bom efeito colateral: esse método também agrupa automaticamente classes semelhantes. A Figura 5.12 da minha tese de mestrado mostra que:

insira a descrição da imagem aqui

Você pode aplicar a ordem da matriz de confusão com clana

Martin Thoma
fonte
Veja github.com/MartinThoma/clana para uma implementação
Martin Thoma
1

Em vez de tentar reordenar as colunas e linhas, sugiro tentar encontrar outra maneira de visualizar os dados.

(i,j)ij. Além disso, você pode ter ~ 20 matrizes de confusão de baixa granularidade: para cada cluster, é possível mostrar a matriz de confusão de classes, para as ~ 20 classes em cada cluster. Obviamente, você também pode estender isso usando cluster hierárquico e ter matrizes de confusão em várias granularidades.

Também pode haver outras estratégias de visualização possíveis.

Como um ponto filosófico geral: também pode ajudar a esclarecer seus objetivos (o que você deseja obter com a visualização). Você pode distinguir dois tipos de usos da visualização:

  • Análise exploratória: você não tem certeza do que está procurando; você deseja apenas uma visualização que possa ajudá-lo a procurar padrões ou artefatos interessantes nos dados.

  • Números com uma mensagem: Você tem uma mensagem específica que deseja que o leitor retire e deseja criar uma visualização que ajude a apoiar essa mensagem ou forneça evidências para a mensagem.

Isso pode ajudá-lo a saber o que você está tentando apontar e, em seguida, criar uma visualização direcionada para isso:

  • Se você estiver fazendo uma análise exploratória, em vez de tentar escolher uma visualização perfeita, geralmente é útil tentar criar tantas visualizações quanto possível. Não se preocupe se algum deles é perfeito; tudo bem se cada um deles apresentar falhas, pois cada um pode fornecer uma perspectiva potencialmente diferente dos dados (provavelmente será bom em alguns aspectos e ruim em outros).

  • Se você tem uma mensagem específica que está tentando transmitir ou um tema que está tentando desenvolver, procure uma visualização que suporte esse tema. É difícil fazer uma sugestão específica sem saber o que esse tema / mensagem pode ser.

DW
fonte
0

É importante saber por que a matriz de confusão do EMNIST parece ser boa.

Mas acho estranho que eles não tenham mantido a coloração com números mais altos sendo mais escuros, por exemplo, a maioria das classificações vazias que contêm zeros são de um cinza mais escuro do que as que contêm um número inteiro. Não parece consistente.

Eu tentaria usar o estilo EMINST, exceto mantê-lo consistente onde a cor indica o número de entradas em uma célula. Branco para zero entradas e preto para a maioria das entradas.

Uma classificação perfeita seria uma diagonal preta com triângulos superior e inferior completamente brancos. Onde havia manchas cinzentas nos triângulos, isso indica problemas. Mesmo em um conjunto de 1000 aulas, isso seria útil. Para o ImageNet, onde as classes são hierárquicas, talvez classificar as colunas para que as subclasses sejam agrupadas à direita da classe pai, resultando em manchas escuras quadradas.

Além disso, se você estiver obtendo as 5 principais respostas para uma imagem, as classes podem não ser mutuamente exclusivas, de modo que a classificação do cão para uma imagem de um lap_dog ainda seja verdadeira; portanto, em uma matriz de confusão, as classes mais gerais devem ser muito mais sombrias. do que as classificações precisas (se as cores forem normalizadas). Portanto, o quadrado superior esquerdo seria mais escuro.

rocklegend
fonte