Table of Contents

Mentre molti scienziati e professionisti dell'apprendimento automatico si concentrano esclusivamente sulla precisione come la loro metrica di valutazione primaria, questo approccio può essere pericolosamente fuorviante, soprattutto quando si lavora con datasets e applicazioni squilibrio dove diversi tipi di errori portano costi diversi.

Questa guida completa vi guiderà attraverso tutto ciò che dovete sapere sulle matrici di confusione nelle applicazioni di machine learning – dalla comprensione dei loro componenti fondamentali per calcolare le metriche essenziali e interpretare i risultati per migliorare i vostri modelli.

Cos'è una Matrice di Confusione?

Una matrice di confusione è uno strumento di valutazione delle prestazioni utilizzato nell'apprendimento automatico che riassume le prestazioni di un modello di classificazione, tabulando le previsioni positive, negative, false positive e negative. Piuttosto che fornire un solo numero di precisione, una matrice di confusione ti dà una dettagliata ripartizione di come il tuo modello sta eseguendo in diversi tipi di previsioni.

Una matrice di Confusion è una matrice N x N utilizzata per valutare le prestazioni di un modello di classificazione, dove N è il numero totale di classi di destinazione. La matrice confronta i valori di destinazione reali con quelli previsti dal modello di apprendimento automatico. Per la classificazione binaria, è una tabella 2x2 con due righe e colonne. Le righe mostrano in genere le classi reali e le colonne mostrano le classi predette.

Questo permette un'analisi più dettagliata che semplicemente osservando la proporzione di classificazioni corrette (accuratezza). La matrice di confusione rivela non solo se il modello sta facendo errori, ma in particolare quali tipi di errori sta facendo—informazioni che è fondamentale per migliorare le prestazioni del modello e comprendere i suoi limiti nelle applicazioni del mondo reale.

I quattro componenti fondamentali di una matrice di confusione

Ogni matrice di confusione per la classificazione binaria consiste di quattro componenti fondamentali che classificano tutti i possibili risultati di previsione. Capire questi componenti è la base per il calcolo e l'interpretazione di tutte le altre metriche di performance.

Positivi veri (TP)

Vero Positivo (TP): è il totale dei conti che hanno valori sia predetti che effettivi sono Dog. In altre parole, i veri positivi rappresentano casi in cui il modello correttamente ha previsto la classe positiva. Ad esempio, in un classificatore di posta elettronica di spam, un vero positivo sarebbe un'email che è effettivamente spam e che è stato correttamente identificato come spam dal modello.

I veri positivi denotano correttamente identificati casi positivi, questi sono i casi in cui il vostro modello ha ottenuto il giusto quando prevede la classe positiva.

Negativi veri (TN)

True Negative (TN): È il totale dei conti che hanno valori sia predetti che effettivi non sono Dog. I veri negativi sono casi in cui il modello correttamente ha previsto la classe negativa. Nell'esempio di posta elettronica spam, un vero negativo sarebbe una email legittima che è stata correttamente classificata come non spam.

I veri negativi, invece, sono correttamente classificati casi negativi, con 9.000 email non-spam identificati con precisione, che rappresentano le previsioni corrette per la classe negativa.

Falsi Positivi (FP)

Falso Positivo (FP): È il totale dei conti che hanno la previsione è Dog mentre in realtà Not Dog. Falsi positivi, noti anche come errori di tipo I, si verificano quando il modello prevede in modo errato la classe positiva. Falsi positivi (FP) sono "falsi allarmi", e falsi negativi (FN) sono mancati casi.

Nel rilevamento dello spam, un falso positivo sarebbe un'email legittimamente contrassegnata come spam, causando potenzialmente importanti messaggi da perdere. I falsi positivi sono casi in cui il modello etichetta in modo errato un risultato positivo.

Falsi negativi (FN)

Falso negativo (FN): È il totale dei conti che hanno la previsione è Not Dog mentre in realtà, è Dog. Falsi negativi, o errori di Tipo II, accadere quando il modello non riesce a identificare casi positivi, erroneamente classificandoli come negativi.

In questo scenario sono mancate 300 email di spam. In diagnosi medica, i falsi negativi sono particolarmente pericolosi: un paziente con una malattia che viene detto che sono sani potrebbe ritardare il trattamento critico.

Come Creare e Calcolare una Matrice di Confusione

Creare una matrice di confusione comporta confrontare le previsioni del tuo modello contro le etichette reali di verità di terra per il tuo dataset.

Processo di calcolo passo-passo

Per creare una matrice di confusione, è necessario prima generare le previsioni del modello per i dati di input e poi ottenere le etichette reali.

  1. Train il tuo modello di classificazione[[] sul tuo dataset di formazione utilizzando il tuo algoritmo scelto (regressione teologica, alberi di decisione, reti neurali, ecc.)
  2. Progetzioni generiche[ sul vostro set di dati di prova o di convalida—i dati che il vostro modello non ha visto durante la formazione
  3. Confronta le previsioni alle etichette effettive[ per ogni caso nel tuo set di dati
  4. Contatta ogni tipo di risultato[[]—talmente quante previsioni cadono in ciascuna delle quattro categorie (TP, TN, FP, FN)
  5. Populare la matrice[] con questi conti nelle celle appropriate

Tutte le previsioni corrette si trovano nella diagonale del tavolo (evidenziato in verde), quindi è facile ispezionare visivamente la tabella per gli errori di previsione, come i valori al di fuori della diagonale li rappresenteranno. Questa struttura visiva lo rende immediatamente evidente dove il modello sta eseguendo bene e dove sta lottando.

Realizzazione di Confusion Matrici in Python

Se si desidera generare una matrice di confusione per i dati, è possibile farlo facilmente con strumenti come sklearn. La libreria di fantascienza fornisce funzioni convenienti per la creazione e la visualizzazione di matrici di confusione.

Ecco un esempio di base di come creare una matrice di confusione utilizzando Python e scikit-learn:

Per creare la matrice di confusione dobbiamo importare metriche dal modulo sklearn. Una volta importate metriche possiamo usare la funzione di matrice di confusione sui nostri valori reali e predetti. Il processo prevede l'importazione delle librerie necessarie, la generazione o l'ottenimento dei valori reali e predetti, e quindi l'utilizzo della funzione confusione matrix per calcolare la matrice.

Per creare un display visivo più interpretabile, è necessario convertire la tabella in un display a matrice di confusione. cm display = metriche.ConfusionMatrixDisplay (confusion matrix = confusione matrix, display labels = [0, 1]) Questa visualizzazione rende molto più facile interpretare i risultati a colpo d'occhio.

Metrica essenziale prelevata da Confusion Matrices

Utilizzando TP, TN, FP e FN, è possibile calcolare diverse metriche di qualità di classificazione, come precisione e richiamo. Queste metriche forniscono diverse prospettive sulle prestazioni del modello, ciascuna evidenziando aspetti specifici che riguardano le diverse applicazioni.

Precisione: Correttezza complessiva

Accuratezza misura quanto spesso il modello è corretto. (True Positive + True Negative) / Predictions Totale Questa è la metrica più intuitiva, semplicemente ti dice quale percentuale di tutte le previsioni erano corrette.

L'accuratezza misura la correttezza complessiva del modello dividendo la somma dei veri positivi e dei veri negativi per il numero totale delle previsioni, che equivale a = 0,85 (o 85%).

Tuttavia, l'accuratezza ha dei limiti significativi. L'accuratezza cederà risultati ingannevoli se il set di dati è sbilanciato; cioè, quando i numeri di osservazioni in classi diverse variano notevolmente. Per i dataset fortemente bilanciati, dove una classe appare molto raramente, diciamo l'1% del tempo, un modello che prevede il 100% negativo del tempo segna il 99% sull'accuratezza, nonostante sia inutile.

Precisione: Qualità delle Predizioni Positive

Precisione, definita come TP / (TP + FP), misura l'accuratezza delle previsioni positive. La precisione risponde alla domanda: "Di tutte le istanze il modello predetto come positivo, quanti erano effettivamente positivi?"

La precisione misura l'accuratezza della previsione positiva, risponde alla domanda di "quando il modello prediceva TRUE, quanto spesso era giusto?".

La precisione, in particolare, è importante quando il costo di un falso positivo è alto. La precisione valuta la proporzione di vere previsioni positive tra tutte le previsioni positive (TP / (TP + FP))). Questa metrica è cruciale quando il costo dei falsi positivi è alto.

Ad esempio, nel filtraggio spam via email, l'alta precisione significa che quando un'email è contrassegnata come spam, è molto probabile che sia effettivamente spam, cheminimi il rischio di importanti email legittime che vengono erroneamente filtrate.

Richiamo (Sensibilità): Competizione della Rilevazione Positiva

Richiamo, definito TP / (TP + FN), valuta quanto bene il modello identifica tutte le istanze positive. Richiamo risposte: "Di tutte le istanze positive effettive, quanti hanno identificato correttamente il modello?"

Richiamo o la sensibilità misura il numero di positivi reali correttamente identificati dal modello. Risponde alla domanda di 'Quando la classe era realmente TRUE, quanto spesso il classificatore ha ottenuto il giusto?'

Richiamo importante quando manca un'istanza positiva (FN) è dimostrato che è significativamente peggiore di etichettare in modo errato le istanze negative come positive. Richiamo misura il rapporto di vere previsioni positive al numero effettivo di istanze positive (TP / (TP + FN)).

Nella diagnosi medica, l'elevato richiamo è critico: si vuole catturare tutti i pazienti che hanno una malattia, anche se significa alcuni falsi allarmi.

Specificità: Vera Tasso Negativo

Specificità (tasso negativo di tiro): Specificità calcola il rapporto di vere previsioni negative al numero effettivo di istanze negative (TN / (TN + FP))) e misura come il modello identifica i casi negativi.

La specificità è particolarmente importante negli scenari in cui è necessario identificare correttamente i casi negativi, ad esempio, nella screening della sicurezza, si desidera un'elevata specificità per evitare allarmi inutili, pur mantenendo una sensibilità adeguata per catturare minacce reali.

Punteggio F1: bilanciamento della precisione e del richiamo

Il punteggio F1 è il mezzo armonico della precisione e del richiamo, che rappresenta simmetricamente sia la precisione che il richiamo in una metrica. Il punteggio F1 misura l'equilibrio tra precisione e richiamo per un modello.

La formula per il punteggio F1 è: F1 = 2 × (Precisione × Richiamo) / (Precisione + Richiamo)

Se un modello ha una precisione del 100% ma il richiamo del 10%, una media semplice darebbe il 55%, che suona decente. Il mezzo armonico dà il 18,2%, che riflette più precisamente quanto sia povero il modello. Il punteggio F1 è alto solo quando sia la precisione che il richiamo sono ragionevolmente elevati.

La metrica di punteggio F1 è cruciale quando si tratta di dati sbilanciati o quando si desidera bilanciare il trade-off tra precisione e richiamo.

Quando la precisione e il richiamo hanno entrambi i punteggi perfetti di 1.0, F1 avrà anche un punteggio perfetto di 1.0. Più in generale, quando la precisione e il richiamo sono vicini al valore, F1 sarà vicino al loro valore. Tuttavia, quando c'è un significativo squilibrio tra precisione e richiamo, il punteggio F1 rifletterà questa debolezza.

Comprendere il Trade-off di Precision-Recall

Il commercio tra l'utilizzo di metriche diverse in una Matrice di Confusione è essenziale in quanto influiscono l'uno sull'altro. Ad esempio, un aumento di precisione porta in genere a una diminuzione del richiamo, che ti guiderà a migliorare le prestazioni del modello utilizzando le conoscenze dai valori metrici impattati.

La precisione e il richiamo sono spesso in tensione tra loro. Un modello può trivialmente ottenere il richiamo del 100% predicendo tutto come positivo - ma la sua precisione sarebbe precipitato. Al contrario, un modello può raggiungere la precisione quasi perfetta solo predicendo positivo quando è estremamente sicuro - ma mancherà molti positivi effettivi, richiamo di tanking.

Questo trade-off fondamentale significa che spesso è necessario scegliere quale metrica per priorità in base alla vostra specifica applicazione:

  • Prioritizzare la precisione[ quando i falsi positivi sono costosi, come nei sistemi di approvazione del prestito dove l'approvazione dei prestiti cattivi è costoso
  • Prioritizzare la Richiamo[ quando i falsi negativi sono costosi, come nella screening della malattia dove la diagnosi potrebbe essere fatale
  • Balance Both[]]] utilizzando il punteggio F1 quando entrambi i tipi di errori sono altrettanto importanti

La precisione e il richiamo offrono un trade-off, cioè un metro viene a costo di un altro. Più precisione coinvolge un critico più duro (classificatore) che dubita anche dei campioni positivi effettivi dal dataset, riducendo così il punteggio di richiamo. Capire questo rapporto aiuta a sintonizzare la soglia di decisione del vostro modello per raggiungere il giusto equilibrio per la vostra applicazione.

Interpretazione dei risultati di Confusion Matrix

Una volta calcolato la matrice di confusione e derivato le metriche chiave, il passo critico successivo è l'interpretazione. Capire che cosa significano questi numeri nel contesto delle vostre specifiche guide di applicazione modelli miglioramenti e le decisioni di distribuzione.

Analizzare la struttura di Matrix

Quando si esamina una matrice di confusione, si inizia guardando il modello complessivo delle previsioni. Tutte le previsioni corrette si trovano nella diagonale della tabella (evidenziata in verde), quindi è facile ispezionare visivamente la tabella per gli errori di previsione, come i valori al di fuori della diagonale li rappresenteranno.

Un modello forte avrà valori elevati lungo la diagonale (effetti positivi e negativi veri) e bassi valori nelle cellule off-diagonali (falsi positivi e falsi negativi). Se si vedono alti valori fuori dalla diagonale, questo indica errori sistematici che hanno bisogno di indagine.

Identificare le debolezze del modello

Differenziatore di tipo di errore: comprendere i diversi tipi di errori prodotti dal modello di apprendimento automatico fornisce la conoscenza dei suoi limiti e delle sue aree di miglioramento.

  • Ipositivi falsi elevati[: Il vostro modello è troppo aggressivo nel prevedere la classe positiva—considerando alzare la soglia di classificazione o aggiungendo caratteristiche che meglio distinguono positive da casi negativi
  • I negativi falsi alti[: Il vostro modello è troppo conservatore – consider abbassare la soglia o migliorare l'ingegneria delle caratteristiche per catturare meglio i casi positivi
  • Errori imbalsamati[]: Se gli errori sono concentrati in una direzione, questo suggerisce un bias sistematico che potrebbe richiedere il riequilibrio dei dati di allenamento o la regolazione dei pesi di classe

Interpretazione del contesto-Specifico

La matrice di confusione "destra" dipende interamente dalle esigenze della vostra applicazione. COVID-19, come tutti sappiamo, è infame per la diffusione rapidamente. Quindi, per un modello che classifica le immagini mediche (traggi X polmonari o CT-Scans) in classi "COVID positive" e "COVID negative", vorremmo che il tasso False Negative aumenti il più basso.

Le diverse applicazioni richiedono diverse priorità:

  • Diagnosi medica[]: Minimizzare i falsi negativi per evitare le malattie mancanti
  • Imfiltrazione dello spam[]: L'equilibrio sia – mancare lo spam è fastidioso, ma bloccare le email legittime è peggio
  • Detezione della fraud[: Alto richiamo per catturare le frodi, con revisione manuale che tratta falsi positivi
  • Controllo qualità fabbricazione[[]: dipende dal costo dei difetti rispetto al costo di rifiutare i buoni prodotti

Matrici di confusione per classificazione multi-classe

La matrice di confusione non è limitata alla classificazione binaria e può essere utilizzata anche in classificatori multiclassi. Quando si tratta di più di due classi, la matrice di confusione si espande ma segue gli stessi principi fondamentali.

Per un problema multiclasse con le classi N, avrai una matrice di confusione N×N. Quando si valuta una classe alla volta (un-vs-rest), le metriche di matrice di confusione come TP, FP, FN e TN sono calcolate separatamente per ogni classe.

Lettura di Matrici Multi-Class

In una matrice di confusione multiclasse:

  • Le righe rappresentano le classi reali
  • Le colonne rappresentano le classi predette
  • La diagonale mostra le previsioni corrette per ogni classe
  • Le cellule fuori-diagonali mostrano errori diclassificazioni tra coppie di classe specifiche

Nei problemi multiclassi, la diagonale principale della matrice mostra i veri Positivi per ogni classe, che consente di vedere non solo l'accuratezza complessiva, ma quali classi specifiche il vostro modello gestisce bene e quali si confonde.

Calcolo di metriche per problemi di classe multi

Per la classificazione multiclasse, le metriche come precisione, richiamo e punteggio F1 possono essere calcolate in diversi modi:

  • Micro-media[[]: Calcola metriche a livello globale contando i veri positivi totali, i falsi positivi e i falsi negativi in tutte le classi
  • Macro-averaging[: Calcola metriche per ogni classe in modo indipendente, quindi prendere la media
  • Media ponderata[]: simile a macro-mediazione ma ponderata dal numero di istanze in ogni classe

Utilizzare medie ponderate per i set di dati sbilanciati. Utilizzare le macro medie per i set di dati bilanciati. La scelta dipende dal fatto che si desidera dare la stessa importanza a tutte le classi o peso per la loro frequenza.

Applicazioni e esempi reali del mondo

Le matrici di confusione sono preziose in numerose applicazioni di machine learning, comprendendo come vengono utilizzate in pratica, le aiuta ad applicarle efficacemente ai propri progetti.

Diagnosi medica

Diagnosi Medica: La matrice di confusione trova un ampio uso in campi medici per la diagnosi di malattie basate su test o immagini. Aiuta a quantificare l'accuratezza dei test diagnostici e identificare l'equilibrio tra falsi positivi e falsi negativi.

Nelle applicazioni mediche, il costo dei falsi negativi (che non vengono rilasciati una malattia) è tipicamente molto più alto dei falsi positivi (prove non necessarie di follow-up). Pertanto, i modelli diagnostici medici sono solitamente sintonizzati per massimizzare il richiamo, accettando più falsi positivi per garantire pochissimi casi sono mancati.

Detezione delle frodi

Le banche e gli istituti finanziari usano matrici di confusione per rilevare transazioni fraudolente, mostrando come gli algoritmi AI aiutano a identificare i modelli di attività fraudolente. Ecco alcuni esempi di problemi di classificazione binaria: rilevamento delle frodi: prevedere se una transazione di pagamento è fraudolenta.

Nel rilevamento delle frodi, l'elevato richiamo è importante per catturare transazioni fraudolente, ma la precisione conta anche perché l'indagine su falsi allarmi è costosa. La matrice di confusione aiuta a trovare l'equilibrio ottimale tra la cattura di frodi e la riduzione delle indagini inutili.

Elaborazione della lingua naturale

Natural Language Processing (NLP): I modelli NLP utilizzano matrici di confusione per valutare l'analisi del sentimento, la classificazione del testo e il riconoscimento dell'entità. In una classificazione delle email spam, ad esempio, la matrice di confusione rivela se il modello sia correttamente distinguere lo spam dalle email legittime e quali tipi di errori fa.

Predizione del cliente

Predizione del cliente: le matrici di confusione svolgono un ruolo fondamentale nella predizione del cliente e mostrano come i modelli guidati dall'IA utilizzano i dati storici per anticipare e mitigare l'attrizione del cliente.

Riconoscimento di immagini e oggetti

Riconoscimento immagine e oggetti: Le matrici di confusione aiutano a modellare i modelli di formazione per identificare gli oggetti nelle immagini, consentendo tecnologie come auto-guida e sistemi di riconoscimento facciale. Nei veicoli autonomi, ad esempio, identificare correttamente pedoni, veicoli e ostacoli è fondamentale per la sicurezza, rendendo la matrice di confusione essenziale per la valutazione e il miglioramento dei sistemi di rilevamento.

Pitfalls e Limitazioni comuni

Mentre le matrici di confusione sono strumenti potenti, hanno limitazioni che i praticanti dovrebbero capire per evitare l'errore di interpretazione.

Il paradosso dell'accuratezza

Uno degli errori più comuni è quello di fare affidamento esclusivamente sull'accuratezza, soprattutto con datasets sbilanciati. Ad esempio, se ci fossero 95 campioni di cancro e solo 5 campioni non cancer nei dati, un particolare classificatore potrebbe classificare tutte le osservazioni come cancro. L'accuratezza complessiva sarebbe 95%, ma in modo più dettagliato il classificatore avrebbe un tasso di riconoscimento al 100% (sensibilità) per la classe tumorale ma un tasso di riconoscimento del 0% per la classe non-can.

Questo dimostra perché esaminare la matrice di confusione completa e calcolare metriche multiple è essenziale – l'accuratezza da sola può essere profondamente fuorviante.

Limitazioni epistemiche

In particolare, la matrice di confusione non può mostrare se le previsioni corrette sono state raggiunte attraverso il ragionamento sonoro o semplicemente per caso (un problema conosciuto in filosofia come fortuna epistemica). Inoltre non cattura situazioni in cui i fatti utilizzati per fare una previsione successivamente cambiano o risultano sbagliati (disabilità). Ciò significa che mentre la matrice di confusione è uno strumento utile per misurare le prestazioni di classificazione, può dare un quadro incompleto della vera affidabilità di un modello.

La matrice di confusione ti dice cosa il tuo modello ha previsto, ma non perché. Un modello potrebbe ottenere buoni risultati sul tuo set di test sfruttando le correlazioni spurie che non generalizzeranno ai nuovi dati.

Sensibilità del soglio

Per i classificatori probabilistici, la matrice di confusione dipende dalla soglia di classificazione scelta. Le soglie differenti producono matrici di confusione diverse, che interessano tutte le metriche derivate. È importante esplorare come la matrice di confusione cambia attraverso soglie diverse e scegliere uno che si allinea alle priorità della vostra applicazione.

Tecniche avanzate e Metriche correlate

Oltre alla matrice di confusione di base, diverse tecniche avanzate e metriche correlate forniscono ulteriori approfondimenti sulle prestazioni del modello.

Matthews Correlation Coefficiente (MCC)

Secondo Davide Chicco e Giuseppe Jurman, la metrica più informativa per valutare una matrice di confusione è il coefficiente di correlazione Matthews (MCC). Secondo Davide Chicco e Giuseppe Jurman, il punteggio F1 è meno veritiero e informativo del coefficiente di correlazione Matthews (MCC) nella classificazione di valutazione binaria.

Il MCC tiene conto di tutte e quattro le categorie di matrice di confusione e produce un punteggio tra -1 e +1, dove +1 rappresenta una previsione perfetta, 0 rappresenta una previsione casuale, e -1 rappresenta un totale disaccordo.

RoC Curves e AUC

La curva del ricevitore (ROC) traccia il vero tasso positivo (richiama) contro il tasso positivo falso a varie impostazioni di soglia. L'Area Sotto la curva (AUC) fornisce un unico numero di prestazioni sommaria su tutte le soglie.

Le curve ROC completano le matrici di confusione mostrando come il trade-off tra i veri positivi e i falsi positivi cambia mentre si regola la soglia di classificazione.

Curve di precisione-richiamata

Di solito, i punteggi di precisione e di richiamo non vengono discussi in isolamento. Una curva di precisione-richiamata traccia la precisione come funzione di richiamo; di solito la precisione diminuirà come aumenta il richiamo. Queste curve sono particolarmente utili per i set di dati squilibri in cui le curve ROC potrebbero essere eccessivamente ottimistiche.

Apprendimentoensitivo

David Hand e altri criticano l'uso diffuso del punteggio F1 poiché dà uguale importanza alla precisione e al richiamo. In pratica, diversi tipi di dis-classificazioni incorrono costi diversi. In altre parole, l'importanza relativa di precisione e richiamo è un aspetto del problema.

In molte applicazioni del mondo reale, diversi tipi di errori hanno costi diversi. L'apprendimento sensibile ai costi incorpora questi costi direttamente nel processo di formazione del modello, piuttosto che utilizzarli solo per la valutazione.

Migliori Pratiche per l'utilizzo di Confusion Matrices

Per ottenere il maggior valore da matrici di confusione nei vostri progetti di apprendimento automatico, seguire queste migliori pratiche:

Utilizzare sempre un set di test separato

Calcolate la vostra matrice di confusione sui dati che il modello non ha visto durante l'allenamento. Utilizzando i dati di formazione, i risultati saranno eccessivamente ottimisti che non riflettono le prestazioni del mondo reale. Idealmente, utilizzare un set di test di tenuta o una valutazione incrociata per ottenere stime affidabili.

Considerare più metriche

Nel campo della valutazione dell'apprendimento automatico, le matrici di confusione sono fondamentali, aiutano a calcolare le metriche chiave come precisione e richiamo, queste metriche forniscono approfondimenti sulle prestazioni di un modello rispetto all'accuratezza da sola, in particolare quando si tratta di set di dati che non sono distribuiti uniformemente.

Non fare affidamento su una singola metrica. Esaminare precisione, precisione, richiamo, punteggio F1 e la matrice di confusione raw insieme per ottenere un quadro completo delle prestazioni del modello.

Visualizza i tuoi risultati

Utilizzare le mappe di calore o altre visualizzazioni per rendere più facile da interpretare le matrici di confusione, soprattutto per i problemi di classe. Color-coding aiuta a identificare rapidamente dove il modello sta eseguendo bene e dove sta lottando. La maggior parte delle librerie di apprendimento automatico forniscono strumenti di visualizzazione incorporati per le matrici di confusione.

Monitorare le prestazioni nel tempo

Separatamente, potrebbe anche essere utile monitorare il numero assoluto di etichette positive e negative predetto dal modello e la deriva di distribuzione nelle previsioni del modello. Anche prima di ricevere il feedback, è possibile rilevare una deviazione nelle previsioni del modello (predizione deriva): come quando un modello inizia a prevedere "fraud" più spesso.

Nei sistemi di produzione, monitora continuamente le metriche della matrice di confusione. Le modifiche nella matrice di confusione nel tempo possono indicare la deriva dei dati, la deriva del concetto o altre questioni che richiedono la riqualifica del modello o la regolazione.

Allineare i Metrics con gli obiettivi aziendali

Scegli quali metriche ottimizzare in base ai costi e ai benefici reali di diversi tipi di errori nella tua applicazione. Un modello tecnicamente impressionante che non si allinea alle esigenze aziendali non offre valore.

Documenta le tue scelte di soglia

Quando si sceglie una soglia di classificazione, documentare perché si è fatto quella scelta e ciò che i trade-offs rappresenta, aiutando gli altri a capire il comportamento del vostro modello e rende più facile da regolare se i requisiti cambiano.

Analisi della Matrice di Confusione: un esempio pratico

Passiamo attraverso un esempio completo per vedere come funziona l'analisi della matrice di confusione in pratica. Supponiamo che si sta costruendo un classificatore di spam e-mail e l'hanno testato su 1.000 email.

Il vostro modello produce la seguente matrice di confusione:

  • Vero Positivi (esattamente identificato spam): 85
  • Negativi veri (correttivamente identificati legittimi): 870
  • Falsi Positivi (legittimi contrassegnati come spam): 30
  • Falsi negativi (spam segnato come legittimo): 15

Da questa matrice di confusione, è possibile calcolare:

Accuratezza[ = (85 + 870) / 1000 = 0,9555 o 95,5%

Precisione = 85 / (85 + 30) = 0,739 o 73.9%

Richiesta[ = 85 / (85 + 15) = 0,85 o 85%

F1 Punteggio[ = 2 × (0.739 × 0.85) / (0.739 + 0.85) = 0,791 o 79.1%

Tuttavia, la precisione del 73,9% rivela che circa il 26% delle email contrassegnate come spam sono in realtà legittime, potenzialmente causando agli utenti di perdere importanti email. Il richiamo dell'85% significa che il modello cattura la maggior parte dello spam, ma il 15% ancora passa attraverso.

A seconda delle priorità, si potrebbe regolare la soglia di classificazione. Abbassare la soglia aumenterebbe il richiamo (catturare più spam) ma diminuire la precisione (più falsi allarmi). Aumentare sarebbe fare il contrario. Il punteggio F1 del 79,1% suggerisce che c'è spazio per migliorare il bilanciamento di questi obiettivi concorrenti.

Migliorare le prestazioni del modello Basato sulle insights della matrice di confusione

La matrice di confusione non valuta solo il tuo modello, guida i miglioramenti. Ecco come utilizzare le intuizioni di matrice di confusione per migliorare le prestazioni:

Indirizzo Classe Imbalance

Se la vostra matrice di confusione rivela prestazioni povere nella classe minoritaria, considerate tecniche come:

  • Supercampionamento della classe minoritaria (SMOTE, ADASYN)
  • Sottocampo della classe di maggioranza
  • Utilizzo di pesi di classe nel tuo modello
  • Raccogliere più dati per classi sottorappresentate

Ingegneria della caratteristica

Se si vedono errori sistematici (ad esempio, confondendo costantemente due classi specifiche), questo suggerisce che le caratteristiche non si distinguono adeguatamente tra di loro.

Regolare le soglie della decisione

Piuttosto che utilizzare la soglia di default 0.5, sperimenta con diverse soglie per trovare l'equilibrio ottimale tra precisione e richiamo per la tua applicazione.

Metodi di Ensemble

Una matrice di confusione calcolata per lo stesso set di test di un dataset, ma utilizzando diversi classificatori, può anche contribuire a confrontare i loro punti di forza e di debolezza relativi e a disegnare un'inferenza su come possono essere combinati (apprendimento intensivo) per ottenere le prestazioni ottimali.

Analisi errore

Esaminare casi specifici che sono stati mal classificati. Cercare modelli negli errori - sono determinati tipi di input costantemente mal classificati? Questa analisi qualitativa spesso rivela intuizioni che metriche pure manca.

Strumenti e biblioteche per l'analisi di Matrice di Confusione

Diversi potenti strumenti e librerie rendono più facile e più efficace lavorare con matrici di confusione:

Scikit-learn (Python)

Scikit-learn fornisce una completa funzionalità di matrice di confusione attraverso il modulo metrico, che include funzioni per il calcolo delle matrici di confusione, visualizzarle e calcolare tutte le metriche standard. La libreria è ben documentata e si integra perfettamente con altri strumenti di Python data science.

TensoreFlow e Keras

Per applicazioni di apprendimento approfondito, TensorFlow e Keras forniscono utilità di matrice di confusione che lavorano con i modelli di rete neurali, che si integrano con TensorBoard per la visualizzazione e il monitoraggio durante la formazione.

Pacchetti R

Gli utenti R possono sfruttare pacchetti come caret, yardstick e confusioneMatrix per un'analisi completa della matrice di confusione, che forniscono sia funzionalità di calcolo che di visualizzazione con ampie opzioni di personalizzazione.

Strumenti di visualizzazione speciali

Strumenti come Evidently AI, Weights & Biases e MLflow forniscono funzionalità avanzate di monitoraggio e visualizzazione per matrici di confusione nei sistemi di produzione, rendendo più facile tracciare le prestazioni del modello nel tempo e rilevare la degradazione.

Conclusioni

La matrice di confusione è uno strumento indispensabile per la valutazione dei modelli di classificazione.Sottomettendo le prestazioni in componenti dettagliati, fornisce una comprensione più approfondita di quanto il modello sta eseguendo, evidenziando sia i punti di forza e le debolezze.Se sei un principiante o uno scienziato di dati esperto, padroneggiare la matrice di confusione è essenziale per la costruzione di modelli di apprendimento automatico efficaci e affidabili.

Capire come calcolare, interpretare e agire su intuizioni di matrice di confusione separa i professionisti efficaci di apprendimento automatico da coloro che si affidano ciecamente su singole metriche come l'accuratezza. La matrice di confusione rivela non solo se il modello funziona, ma come funziona, dove non riesce, e che cosa si può fare per migliorarlo.

Esaminando i veri positivi, i veri negativi, i falsi positivi e i falsi negativi, si ottiene un quadro completo del comportamento del vostro modello. Le metriche derivate da questi componenti – precisione, precisione, richiamo, F1 punteggio, e altri – ogni raccontare parte della storia. Insieme, vi guidano verso modelli che non solo svolgono bene sui set di test ma forniscono un valore reale nelle applicazioni di produzione.

Combinalo con competenze di dominio, requisiti aziendali e monitoraggio continuo per creare modelli che non sono solo precisi, ma veramente utili. Il tempo investito nella comprensione delle matrici di confusione paga dividendi in qualità di modello, affidabilità e impatto reale.

Per ulteriori informazioni sulle tecniche di valutazione dell'apprendimento automatico, esplorare le risorse su [] documentazione di valutazione del modello di scikit-learn[], [[]], Google's Machine Learning Crash Course on Classification[, e documenti accademici su metriche di valutazione avanzate. Il campo continua ad evolvere, con nuove tecniche e migliori pratiche emergenti regolarmente, rendendo essenziale l'apprendimento permanente per chiunque si occupi seriamente l'apprendimento delle macchine per imparare le tecniche e le tecniche.