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.