# Precisão, recall e F1 explicados com exemplos de moderação

> A exatidão esconde o problema. O que medem a precisão, o recall e o F1, como calculá-los em 30 segundos e qual importa para a tua comunidade.

Source: https://www.vigimod.com/pt/learn/precision-recall-f1 · VigiMod (https://www.vigimod.com) · atualizado em 2026-11-11 · 7 min

## Em resumo

- A exatidão engana quando as mensagens nocivas são raras: «não assinalar nada» pode ter 98 % de exatidão.
- Precisão: das mensagens assinaladas, quantas eram mesmo nocivas.
- Recall (sensibilidade): das mensagens nocivas, quantas foram apanhadas.
- O F1 junta os dois: só é alto quando ambos são altos.

## Porque é que a exatidão não chega

Imagina 1000 mensagens de chat, das quais 20 são insultos. Um modelo que **nunca assinala nada** acerta 980 vezes em 1000: **98 % de exatidão**, e nenhuma utilidade. Quando o que procuras é raro, a exatidão esconde o problema. É por isso que a moderação se mede com **precisão** e **recall**.

## As quatro casas

Cada decisão cai numa de quatro casas:

| | Realmente nociva | Realmente inofensiva |
|---|---|---|
| **Assinalada** | verdadeiro positivo (TP) | falso positivo (FP) |
| **Não assinalada** | falso negativo (FN) | verdadeiro negativo (TN) |

Um **falso positivo** é uma mensagem inocente assinalada por engano; um **falso negativo** é uma mensagem nociva que passou. Têm custos diferentes, explicados em [falsos positivos e falsos negativos](https://www.vigimod.com/pt/learn/false-positives-and-false-negatives).

## Precisão

> Precisão = TP / (TP + FP)

De tudo o que o modelo assinalou, quanto era mesmo nocivo? Uma precisão baixa significa **muitos falsos alarmes**: os teus moderadores perdem tempo e os teus utilizadores ficam irritados.

## Recall

> Recall = TP / (TP + FN)

De todas as mensagens nocivas, quantas apanhou o modelo? Um recall baixo significa **muitas falhas**: o conteúdo nocivo fica no chat.

## Um exemplo resolvido

Em 1000 mensagens, 20 são insultos. O modelo assinala 25 mensagens: 18 são insultos verdadeiros e 7 são inocentes.

- TP = 18, FP = 7, FN = 20 − 18 = 2
- Precisão = 18 / 25 = **0,72**
- Recall = 18 / 20 = **0,90**

O modelo apanha quase todos os insultos, mas cerca de um alerta em cada quatro é um falso alarme.

## F1: um só número para os dois

> F1 = 2 × precisão × recall / (precisão + recall)

O F1 é a *média harmónica* dos dois: só é alto quando **ambos** são altos. No exemplo, F1 = 2 × 0,72 × 0,90 / 1,62 ≈ **0,80**. Um modelo com precisão 1,0 e recall 0,1 tem um F1 de apenas 0,18, mesmo que a média dos dois seja 0,55.

## Qual importa para ti?

- Um **jogo para crianças** pode querer um recall muito alto: deixar escapar uma tentativa de aliciamento é muito pior do que alguns falsos alarmes revistos por uma pessoa.
- Uma **comunidade de jogadores cheia de provocações** pode querer uma precisão alta: assinalar cada «és péssimo neste jogo» entre amigos afastaria as pessoas.

Passas de um para o outro com o [limiar](https://www.vigimod.com/pt/learn/choosing-a-threshold): se o baixares, o recall sobe e a precisão desce; se o subires, acontece o contrário.

## Precisão média (AP)

O F1 depende do limiar escolhido. A **precisão média** (average precision) resume o modelo em todos os limiares ao mesmo tempo: diz quão bem as pontuações separam as mensagens nocivas das inofensivas, seja onde for que ponhas a linha. É útil para comparar dois modelos de forma justa.

## Uma nota sobre a «verdade»

Todos estes números comparam o modelo com rótulos escritos por pessoas, e as pessoas nem sempre concordam, sobretudo no ódio e na ironia. Se os rótulos de teste estiverem errados, até um modelo perfeito tem uma pontuação mais baixa. Por isso as avaliações sérias revêem os seus conjuntos de teste (ver [dados de treino e rótulos](https://www.vigimod.com/pt/learn/training-data-and-labels)).

## Quiz

1. 1000 mensagens, 10 nocivas. Um modelo que nunca assinala nada tem uma exatidão de…
   Resposta: 99 %. Acerta nas 990 inofensivas: muita exatidão, nenhuma utilidade.
2. A precisão responde à pergunta…
   Resposta: Das mensagens assinaladas, quantas eram mesmo nocivas?. Precisão = TP / (TP + FP).
3. O modelo apanha 30 de 40 mensagens nocivas. O recall é…
   Resposta: 0,75. 30 / 40 = 0,75.
4. Precisão 1,0 e recall 0,1. O F1 é cerca de…
   Resposta: 0,18. F1 = 2 × 1,0 × 0,1 / 1,1 ≈ 0,18: só é alto quando ambos são altos.
