Soglie e matrice di confusione

Supponiamo che tu abbia un modello di regressione logistica per il rilevamento di email di spam che prevede un valore compreso tra 0 e 1, che rappresenta la probabilità che un l'email è spam. Una previsione pari a 0,50 indica una probabilità del 50% che l'email venga spam, una previsione pari a 0,75 indica una probabilità del 75% che l'email sia spam. e così via.

Vorresti eseguire il deployment di questo modello in un'applicazione email per filtrare lo spam in in una cartella di posta separata. Per farlo, però, devi convertire i dati non elaborati del modello output numerico (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. Vengono quindi assegnati gli esempi con una probabilità superiore al valore di soglia alla classe positiva, il corso per il quale stai eseguendo il test (qui, spam). Esempi con un valore di probabilità sono assegnate alla classe negativa, la classe alternativa (qui not spam).

Fai clic qui per ulteriori dettagli sulla soglia di classificazione

Forse ti starai chiedendo cosa succede se il punteggio previsto è uguale a la soglia di classificazione (ad esempio, un punteggio di 0,5 dove anche la soglia di classificazione è 0,5)? Gestione per questa richiesta dipende dalla particolare implementazione scelta per la classificazione un modello di machine learning. Ad esempio, Keras la libreria prevede la classe negativa se il punteggio e la soglia sono uguali, ma altri strumenti/framework potrebbero gestire questo caso in modo diverso.

Ad esempio, supponiamo che il modello assegni a un'email un punteggio pari a 0,99, prevedendo l'email ha il 99% di probabilità di essere spam e un'altra 0,51, presumendo che abbia una probabilità del 51% di essere spam. Se imposti il parametro soglia di classificazione pari a 0,5, il modello classificherà entrambe le email spam. Se imposti la soglia su 0,95, solo il punteggio dell'email con un punteggio di 0,99 verrà essere classificati come spam.

Anche se 0,5 può sembrare una soglia intuitiva, non è una buona idea che costo di un tipo di classificazione errata è maggiore dell'altro, oppure se classi sono sbilanciate. Se solo lo 0, 01% delle email sono spam o se contengono errori delle email legittime è peggio che lasciare lo spam nella Posta in arrivo, etichettare tutto ciò che il modello considera come spam almeno il 50% poiché lo spam produce risultati indesiderati.

Matrice di confusione

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

Effettivo positivo Effettivo negativo
Previsto positivo Vero positivo (VP): spam email correttamente classificata come spam. Questi sono i messaggi spam inviati automaticamente alla cartella Spam. Falso positivo (FP): un'email che non è spam è classificata erroneamente come spam. Queste sono le email legittime che finiscono nella cartella Spam.
Negativo previsto Falso negativa (FN): un'email di spam classificata erroneamente come non spam. Questi sono messaggi di spam che non sono vengono intercettati dal filtro antispam e vengono inseriti nella Posta in arrivo. Vero negativo (TN): A Email non spam correttamente classificate come non spam. Queste sono le email legittime che vengono inviate direttamente nella Posta in arrivo.

Nota che il totale in ogni riga fornisce tutti i positivi previsti (VP + FP) e tutti i valori negativi previsti (FN + TN), indipendentemente dalla validità. Il totale in ogni nella colonna, mentre restituisce tutti i veri positivi (VP + FN) e tutti i veri negativi (FP + TN) a prescindere dalla classificazione del modello.

Quando il totale dei positivi effettivi non è simile al totale dei negativi, il set di dati è sbilanciato. Un'istanza di un set di dati sbilanciato potrebbe essere un insieme di migliaia di foto di nuvole, dove il raro tipo di nuvola che ti interessa, ad esempio nuvole volute, compare solo alcune volte.

Effetto della soglia su veri e falsi positivi e negativi

Soglie diverse di solito generano numeri diversi di vero e falso positivi e veri e falsi negativi. Il seguente video spiega perché anche se non l'ha creata in prima persona.

Prova a modificare la soglia autonomamente.

Questo widget include tre set di dati dei giocattoli:

  • Separati, dove esempi positivi ed esempi negativi sono generalmente ben differenziati, con la maggior parte degli esempi positivi con punteggi più alti rispetto esempi negativi.
  • Non separato, dove molti esempi positivi hanno punteggi più bassi rispetto esempi negativi, e molti esempi negativi hanno punteggi più alti esempi positivi.
  • Sbilanciata, contenente solo alcuni esempi della classe positiva.

Verifica le tue conoscenze

1. Immaginiamo un modello di classificazione di phishing o malware in cui siti web di phishing e malware nella classe etichettata 1 (true) e siti web innocui sono nella classe 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 considerato un esempio positivo (sito di malware).
Un vero positivo
Un vero positivo sarebbe correttamente un sito di malware classificati come malware.
Un falso negativo
Un falso negativo sarebbe un sito di malware in modo errato classificato come sito legittimo.
Un vero negativo
Un vero negativo sarebbe un sito legittimo correttamente classificato come sito legittimo.
2. In generale, cosa succede al numero di falsi positivi quando la soglia di classificazione? E i veri positivi? Sperimenta con il cursore in alto.
Sia i veri che i falsi positivi diminuiscono.
Man mano che la soglia aumenta, il modello probabilmente meno positivi nel complesso, sia veri che falsi. Un classificatore di spam con un soglia di 0,9999 etichetta un'email come spam solo se prende in considerazione probabilità almeno del 99,99%, il che significa che è molto probabilmente non etichetti erroneamente un'email legittima, ma probabilmente non c'è un'email di spam.
I veri e i falsi positivi aumentano.
Utilizzando il cursore in alto, prova a impostare la soglia su 0,1, e poi trascinala a 0,9. Cosa succede al numero di falsi positivi e veri positivi?
I veri positivi aumentano. I falsi positivi diminuiscono.
Utilizzando il cursore in alto, prova a impostare la soglia su 0,1, e poi trascinala a 0,9. Cosa succede al numero di falsi positivi e veri positivi?
3. In generale, cosa succede al numero di falsi negativi quando la soglia di classificazione? E i veri negativi? Sperimenta con il cursore in alto.
I veri e i falsi negativi aumentano.
Man mano che la soglia aumenta, il modello probabilmente più negativi in generale, sia veri che falso. Se la soglia è molto alta, quasi tutte le email, sia spam che non spam, vengono classificate come non spam.
Sia i veri che i falsi negativi diminuiscono.
Utilizzando il cursore in alto, prova a impostare la soglia su 0,1, e poi trascinala a 0,9. Cosa succede al numero di falsi negativi e veri negativi?
I veri negativi aumentano. I falsi negativi diminuiscono.
Utilizzando il cursore in alto, prova a impostare la soglia su 0,1, e poi trascinala a 0,9. Cosa succede al numero di falsi negativi e veri negativi?