Soglie e matrice di confusione

Supponiamo di avere un modello di regressione logistica per il rilevamento di email di spam che predittivo un valore compreso tra 0 e 1, che rappresenta la probabilità che una determinata email sia spam. Una previsione di 0,50 indica una probabilità del 50% che l'email sia spam, una previsione di 0,75 indica una probabilità del 75% che l'email sia spam e così via.

Vuoi implementare questo modello in un'applicazione email per filtrare lo spam in una cartella email separata. Per farlo, devi convertire l'output numerico non elaborato del modello (ad es. 0.75) in una delle due categorie: "spam" o "non spam".

Per effettuare questa conversione, scegli una probabilità di soglia, chiamata soglia di classificazione. Gli esempi con una probabilità superiore al valore di soglia vengono assegnati alla classe positiva, ovvero alla classe per cui stai eseguendo il test (in questo caso spam). Gli esempi con una probabilità inferiore vengono assegnati alla classe negativa, ovvero alla classe alternativa (in questo caso not spam).

Fai clic qui per maggiori dettagli sulla soglia di classificazione

Potresti chiederti: cosa succede se il punteggio previsto è uguale alla soglia di classificazione (ad esempio, un punteggio di 0,5 se anche la soglia di classificazione è 0,5)? La gestione di questo caso dipende dalla particolare implementazione scelta per il modello di classificazione. La libreria Keras prevede la classe negativa se il punteggio e la soglia sono uguali, ma altri strumenti/framework potrebbero gestire questo caso diversamente.

Supponiamo che il modello assegni a un'email il punteggio 0,99, prevedendo che abbia una probabilità del 99% di essere spam, e a un'altra email il punteggio 0,51, prevedendo che abbia una probabilità del 51% di essere spam. Se imposti la soglia di classificazione su 0,5, il modello classificherà entrambe le email come spam. Se imposti la soglia su 0,95, solo l'email con un punteggio di 0,99 verrà classificata come spam.

Sebbene 0, 5 possa sembrare una soglia intuitiva, non è una buona idea se il costo di un tipo di classificazione errata è superiore all'altro o se le classi non sono bilanciate. Se solo lo 0, 01% delle email è spam o se archiviare erroneamente le email legittime è peggio che consentire l'ingresso di spam nella posta in arrivo, etichettare come spam tutto ciò che il modello ritiene avere almeno il 50% di probabilità di essere spam produce risultati indesiderati.

Matrice di confusione

Il punteggio di probabilità non è la realtà o i dati empirici reali. Esistono quattro possibili risultati per ogni output di un classificatore binario. Per l'esempio del classificatore di spam, se imposti i dati empirici reali come colonne e la previsione del modello come righe, il risultato è la tabella seguente, chiamata matrice di confusione:

Positivo effettivo Negativo effettivo
Positivo previsto Vero positivo (VP): un'email di spam correttamente classificata come spam. Si tratta dei messaggi spam inviati automaticamente alla cartella Spam. Falso positivo (FP): un'email non spam classificata erroneamente come spam. Si tratta di email legittime che finiscono nella cartella Spam.
Negativo previsto Falso negativo (FN): un'email di spam classificata erroneamente come non spam. Si tratta di email di spam che non vengono rilevate dal filtro antispam e finiscono nella Posta in arrivo. Vero negativo (VN): un'email non spam classificata correttamente come non spam. Queste sono le email legittime che vengono inviate direttamente alla posta in arrivo.

Tieni presente che il totale in ogni riga indica tutti i positivi previsti (TP + FP) e tutti i negativi previsti (FN + TN), indipendentemente dalla validità. Il totale in ogni colonna, nel frattempo, fornisce tutti i veri positivi (VP + FN) e tutti i veri negativi (FP + TN) indipendentemente dalla classificazione del modello.

Quando il totale dei positivi effettivi non è vicino al totale dei negativi effettivi, il set di dati è sbilanciato. Un'istanza di un set di dati sbilanciato potrebbe essere un insieme di migliaia di foto di nuvole, in cui il tipo di nuvole rare che ti interessa, ad esempio le nuvole voluti, compare solo alcune volte.

Effetto della soglia su veri e falsi positivi e negativi

Soglie diverse di solito generano numeri diversi di veri e falsi positivi e veri e falsi negativi. Il seguente video spiega perché è così.

Prova a modificare la soglia autonomamente.

Questo widget include tre set di dati dei giocattoli:

  • Separati, in cui gli esempi positivi e negativi sono generalmente ben differenziati, con la maggior parte degli esempi positivi che ha punteggi più elevati rispetto agli esempi negativi.
  • Senza separazione, in cui molti esempi positivi hanno punteggi inferiori rispetto agli esempi negativi e molti esempi negativi hanno punteggi superiori rispetto agli esempi positivi.
  • Sbilanciati, contenenti solo alcuni esempi della classe positiva.

Verifica le tue conoscenze

1. Immagina un modello di classificazione di phishing o malware in cui i siti web di phishing e malware appartengono alla classe etichettata come 1 (true) e i siti web innocui appartengono alla classe etichettata come 0 (false). Questo modello classifica erroneamente un sito web legittimo come malware. Come si chiama?
Un falso positivo
Un esempio negativo (sito legittimo) è stato erroneamente classificato come esempio positivo (sito di malware).
Un vero positivo
Un vero positivo è un sito di malware classificato correttamente come malware.
Un falso negativo
Un falso negativo è un sito di malware classificato erroneamente come sito legittimo.
Un vero negativo
Un vero negativo è un sito legittimo classificato correttamente come tale.
2. In generale, cosa succede al numero di falsi positivi quando la soglia di classificazione aumenta? E i veri positivi? Fai esperimenti con il cursore qui sopra.
Sia i veri che i falsi positivi diminuiscono.
Con l'aumento della soglia, è probabile che il modello preveda meno positivi complessivi, sia veri che falsi. Un classificatore di spam con una soglia di 0,9999 etichetterà un'email come spam solo se ritiene che la classificazione abbia una probabilità di almeno il 99,99%, il che significa che è molto improbabile che etichetti erroneamente un'email legittima, ma è anche probabile che non rileve le email di spam effettive.
Aumentano sia i veri che i falsi positivi.
Utilizzando il dispositivo di scorrimento in alto, prova a impostare la soglia su 0,1, quindi trascinala su 0,9. Che cosa succede al numero di falsi positivi e di veri positivi?
Aumentano i veri positivi. I falsi positivi diminuiscono.
Utilizzando il dispositivo di scorrimento in alto, prova a impostare la soglia su 0,1, quindi trascinala su 0,9. Che cosa succede al numero di falsi positivi e di veri positivi?
3. In generale, cosa succede al numero di falsi negativi quando la soglia di classificazione aumenta? E i veri negativi? Fai esperimenti con il cursore qui sopra.
Aumentano sia i veri che i falsi negativi.
Con l'aumento della soglia, il modello probabilmente prevede più valori negativi complessivi, sia veri che falsi. A una soglia molto elevata, quasi tutte le email, sia spam che non spam, verranno classificate come non spam.
Sia i veri che i falsi negativi diminuiscono.
Utilizza il dispositivo di scorrimento in alto per provare a impostare la soglia su 0,1, quindi trascinarla su 0,9. Che cosa succede al numero di falsi negativi e veri negativi?
Aumentano i veri negativi. I falsi negativi diminuiscono.
Utilizza il dispositivo di scorrimento in alto per provare a impostare la soglia su 0,1, quindi trascinarla su 0,9. Che cosa succede al numero di falsi negativi e veri negativi?