Matriz de Confusão

Monte a matriz e obtenha acurácia, precisão, recall e F1 por classe. Preencha os valores ou cole suas predições.

Load example:

Matrix (comma-separated rows)

Class Names (comma-separated)

One name per class, matching the number of rows/columns in the matrix. If omitted, classes are auto-labeled Class 0, Class 1…

Confusion Matrix Heatmap

Predicted →
Actual →
spam
ham
spam
ham
55
5
8
32
Correct (diagonal)
Misclassified

Overall Accuracy

87.00%

87 correct

100 total

Per-Class Metrics

ClassPrecisionRecallF1 ScoreSupport
spam0.8730.9170.89460
ham0.8650.8000.83140
Macro avg0.8690.8580.863
Weighted avg0.8700.8700.869
F1 > 0.8Good
F1 > 0.6Moderate
F1 ≤ 0.6Needs improvement

O que esta ferramenta faz

Calcula todas as métricas de classificação de uma vez, sem abrir um notebook nem importar o scikit-learn. Tudo é processado na página; seus dados não saem do navegador.

  • Duas formas de entrada — preencher a matriz direto, ou colar as colunas de rótulo real e previsto.
  • Qualquer número de classes — binária ou multiclasse, sem limite fixo.
  • Métricas por classe — precisão, recall e F1 de cada uma, não só o total.
  • Médias macro e ponderada — as duas, porque contam histórias diferentes.
  • Exemplos prontos — spam/ham, sentimento com 3 classes e um classificador de imagens com 5.

Como ler a matriz

As linhas são a classe real e as colunas a prevista. A diagonal são os acertos; tudo fora dela é erro. No caso binário:

Previsto: positivoPrevisto: negativo
Real: positivoVP — acertoFN — passou batido
Real: negativoFP — alarme falsoVN — acerto

Qual dos dois erros pesa mais depende do problema. Num filtro de spam, um FP joga uma nota fiscal na lixeira. Num exame de triagem, um FN deixa passar um caso real.

Acurácia, precisão e recall

acurácia  = (VP + VN) / total
precisão  = VP / (VP + FP)     acertei quando disse "sim"?
recall    = VP / (VP + FN)     achei todos os "sim"?
F1        = 2 · (precisão · recall) / (precisão + recall)

Precisão e recall se puxam em direções opostas: subir o limiar melhora a precisão e piora o recall. O F1 é a média harmônica entre os dois, então só sobe quando ambos melhoram.

Vale lembrar que recall também aparece como revocação ou sensibilidade em material acadêmico em português — são o mesmo número.

A pegadinha do desbalanceamento

Se 99% dos seus casos são negativos, um modelo que responde sempre «negativo» tira 99% de acurácia e não serve para nada: o recall dele na classe positiva é 0. Por isso olhe as métricas por classe antes do número geral.

É aí que as duas médias divergem: a macro trata todas as classes igual e pune erro nas minoritárias; a ponderada pesa por frequência e acaba escondendo o problema. Macro bem abaixo da ponderada já indica onde olhar.

Perguntas frequentes

Qual a diferença entre precisão e acurácia?

São métricas diferentes que muita gente troca. A acurácia é o percentual de acertos sobre o total. A precisão mede, de tudo que você previu como positivo, quanto realmente era. Com classes desbalanceadas dá para ter 95% de acurácia e uma precisão inútil.

Preencho a matriz ou colo as predições?

O que você tiver em mãos. Dá para preencher célula por célula, ou colar duas colunas com o rótulo real e o previsto que a matriz é montada sozinha. Também há exemplos prontos de 2, 3 e 5 classes.

Por que o F1 macro e o ponderado não batem?

O macro faz a média do F1 de cada classe com peso igual; o ponderado pesa cada classe pelo número de casos reais. Se os dois divergem muito, você tem classes desbalanceadas e o modelo vai pior nas minoritárias.

Em que ordem as classes aparecem?

Ordem alfabética, para a matriz ficar estável entre execuções. As linhas são a classe real e as colunas a prevista, então a diagonal são os acertos.

Ferramentas relacionadas

Outros idiomas