# Precisione, recall e F1 spiegati con esempi di moderazione

> L'accuratezza nasconde il problema. Cosa misurano precisione, recall e F1, come calcolarli in 30 secondi e quale conta per la tua community.

Source: https://www.vigimod.com/it/learn/precision-recall-f1 · VigiMod (https://www.vigimod.com) · aggiornato il 2026-11-11 · 7 min

## In breve

- L'accuratezza inganna quando i messaggi dannosi sono rari: «non segnalare niente» può essere accurato al 98%.
- Precisione: tra i messaggi segnalati, quanti erano davvero dannosi.
- Recall: tra i messaggi dannosi, quanti sono stati presi.
- F1 combina le due: è alto solo quando sono alte entrambe.

## Perché l'accuratezza non basta

Immagina 1.000 messaggi in chat, di cui 20 insulti. Un modello che **non segnala mai niente** ha ragione 980 volte su 1.000: **accuratezza del 98%**, e nessuna utilità. Quando quello che cerchi è raro, l'accuratezza nasconde il problema. Per questo la moderazione si misura con **precisione** e **recall**.

## Le quattro caselle

Ogni decisione finisce in una di quattro caselle:

| | Davvero dannoso | Davvero innocuo |
|---|---|---|
| **Segnalato** | vero positivo (VP) | falso positivo (FP) |
| **Non segnalato** | falso negativo (FN) | vero negativo (VN) |

Un **falso positivo** è un messaggio innocente segnalato per errore; un **falso negativo** è un messaggio dannoso che passa. Hanno costi diversi, spiegati in [falsi positivi e falsi negativi](https://www.vigimod.com/it/learn/false-positives-and-false-negatives).

## Precisione

> Precisione = VP / (VP + FP)

Di tutto quello che il modello ha segnalato, quanto era davvero dannoso? Una precisione bassa vuol dire **tanti falsi allarmi**: i moderatori perdono tempo e gli utenti si arrabbiano.

## Recall

> Recall = VP / (VP + FN)

Di tutti i messaggi dannosi, quanti ne ha presi il modello? Un recall basso vuol dire **tanti messaggi sfuggiti**: i contenuti dannosi restano in chat.

## Un esempio svolto

Su 1.000 messaggi, 20 sono insulti. Il modello ne segnala 25: 18 sono insulti veri, 7 sono innocenti.

- VP = 18, FP = 7, FN = 20 − 18 = 2
- Precisione = 18 / 25 = **0,72**
- Recall = 18 / 20 = **0,90**

Il modello prende quasi tutti gli insulti, ma circa una segnalazione su quattro è un falso allarme.

## F1: un solo numero per entrambe

> F1 = 2 × precisione × recall / (precisione + recall)

F1 è la *media armonica* delle due: è alta solo quando sono alte **entrambe**. Nell'esempio F1 = 2 × 0,72 × 0,90 / 1,62 ≈ **0,80**. Un modello con precisione 1,0 e recall 0,1 ha F1 di appena 0,18, anche se la media semplice delle due sarebbe 0,55.

## Quale conta per te?

- Un **gioco per bambini** può volere un recall altissimo: perdere un tentativo di adescamento è molto peggio di qualche falso allarme controllato da una persona.
- Una **community di gamer piena di sfottò** può volere una precisione alta: segnalare ogni amichevole «sei scarsissimo» farebbe scappare le persone.

Ci si sposta tra le due con la [soglia](https://www.vigimod.com/it/learn/choosing-a-threshold): abbassandola il recall sale e la precisione scende, alzandola succede il contrario.

## Precisione media (AP)

L'F1 dipende dalla soglia scelta. La **precisione media** (average precision, AP) riassume il modello a tutte le soglie insieme: dice quanto bene i punteggi separano i messaggi dannosi da quelli innocui, indipendentemente da dove metti la linea. È utile per confrontare due modelli in modo equo.

## Una nota sulla «verità»

Tutti questi numeri confrontano il modello con etichette scritte da persone, e le persone non sono sempre d'accordo, soprattutto su odio e ironia. Se le etichette del test sono sbagliate, anche un modello perfetto prende un punteggio più basso. Per questo le valutazioni serie ricontrollano i loro test (vedi [dati di addestramento ed etichette](https://www.vigimod.com/it/learn/training-data-and-labels)).

## Quiz

1. 1.000 messaggi, 10 dannosi. Un modello che non segnala mai niente ha accuratezza…
   Risposta: 99%. Ha ragione sui 990 innocui: accuratezza alta, utilità zero.
2. La precisione risponde alla domanda…
   Risposta: Tra i messaggi segnalati, quanti erano davvero dannosi?. Precisione = VP / (VP + FP).
3. Il modello prende 30 dei 40 messaggi dannosi. Il recall è…
   Risposta: 0,75. 30 / 40 = 0,75.
4. Precisione 1,0 e recall 0,1. L'F1 è circa…
   Risposta: 0,18. F1 = 2 × 1,0 × 0,1 / 1,1 ≈ 0,18: è alto solo se sono alte entrambe.
