Iniziamo definendo cosa si intende per Classificazione, La classificazione è il processo di tentativo di assegnare qualcosa a uno dei gruppi disponibili. Si possono avere 2 gruppi (classificazione binaria) o più di 2 gruppi (Classificazione multi-classe).
Gli algoritmi di classificazione includono: (Regressione logistica, K-Nearest Neighbor, Support Vector Machine e Naive Bayes etc ecc.)
Per uno scienziato dei dati è davvero importante assicurarsi quanto è buono il modello di classificazione. Ci sono alcuni famosi modi possibili per valutare il tuo modello. Possono essere elencati come segue:
- Confusion Matrix — Può essere calcolato facilmente utilizzando l’implementazione della libreria Scikit-Learn. Basta per alimentare un vettore che contiene le previsioni della tua variabile dipendente y ^ e un vettore di valori del variabile dipendente y
Ora, dopo aver calcolato la tua confusione matrice, sarà un 2*2 matrice per qualsiasi problema di classificazione binaria, la matrice risultante sarebbe come questo
A confusion matrix consists of 4 values which are very valuable to know for every data scientist:
- Falsi Positivi (FP) — le istanze che vengono erroneamente classificati come Positivi istanze di Classe (0,1) = 5
- Falsi negativi (FN) — le istanze che vengono erroneamente classificati come Negativi istanze di Classe (1,0) = 10
- Vero Positivo (TP) — le istanze che sono correttamente classificati come Positivi istanze di Classe (1,1) = 50
- Vero Negativo (TN) — le istanze che sono correttamente classificati come Negativi istanze di Classe (0,0) = 35
Totale istanze del set di dati (formazione + istanze di test) = 5+10+50+35 = 100
Ora, possiamo calcolare 2 percentuali importanti:
1 – Tasso di precisione = Corretto / totale = (50+35)/ 100 = 85%
2-Tasso di errore = Errato / totale = (5+10)/ 100 = 15%
Ora, dovrei festeggiare dopo aver costruito un tale classificatore che ha un tasso di precisione così buono ,or o dovrei ?!
Vediamo, per favore seguimi nel seguente scenario “Sei un data scientist che lavora in una banca e ha costruito un modello di classificazione per classificare le transazioni di frode e non frode, vuoi valutare il tuo modello così hai deciso di calcolare la matrice di confusione e questo è stato il risultato:”
Analizzando la matrice di confusione si può dire che abbiamo una buona classificatore con un tasso di Precisione = 9,800/ 10,000 = 98%
Ma I dati scienziato piuttosto strana idea che vuole provare; L’idea è quella di interrompere il classificatore da classificare qualsiasi delle operazioni di frodi (positiva classe ‘1’), poi, ha calcolato la nuova matrice di confusione ed è stato il seguente:
La funzione di classificazione tasso di Precisione = 9,850/ 10,000 = 98.5% il che significa che c’è un aumento dello 0,5% del tasso di precisione anche se la classificazione non funziona correttamente!
E questo si chiama Trappola di precisione, quindi diciamo sicuramente che il tasso di precisione di misurazione non è sufficiente per rispondere alla domanda ” Quanto è buono il tuo classificatore?!’
La soluzione è provare un altro metodo di misurazione che è
2. Curva del profilo di precisione cumulativa (CAP) – È un metodo più robusto per assistere il nostro modello di macchina. Per capire l’intuizione dietro di esso, Devi seguirmi nei seguenti scenari:
Scenario#1-Immaginate che voi come un lavoro scienziato di dati in una società che vuole promuovere il suo nuovo prodotto in modo che invierà una e-mail con la loro offerta a tutti i clienti e di solito il 10% delle risposte dei clienti e in realtà acquista il prodotto in modo che però che sarà il caso per questa volta e che lo scenario
Scenario#2 — Ancora lavoro nella stessa azienda, ma questa volta si è deciso di farlo in un modo più sistematico:
- Ispezionare i vostri dati storici e prendere un gruppo di clienti che hanno acquistato l’offerta e cercare di estrarre le informazioni
- Misura tali fattori e cercare di scoprire quale di essi riguarda il numero di prodotti Acquistati o, in altre parole inserito i dati di un modello di Regressione Logistica.
- Fai una previsione di quali clienti hanno maggiori probabilità di acquistare il prodotto.
- Poi appositamente bersaglio quelle persone che avete previsto sono più propensi ad acquistare il prodotto.
- Quindi misurando la risposta di quei gruppi mirati rappresentati in quella curva ‘Curva CAP’.
Possiamo sicuramente notare il miglioramento; quando hai contattato 20.000 clienti mirati hai ottenuto circa 5.000 risposte positive dove nello scenario#1 contattando lo stesso numero di clienti, hai solo 2.000 risposte positive.
Così, l’idea qui è quello di confrontare il modello casuali, scenario e si può prendere al livello successivo con la costruzione di un altro modello, forse, una Support Vector Machine (SVM)/ Kernel SVM modello di confrontarlo con l’attuale modello di regressione logistica.
Ma, Come si analizza il grafico risultante ?
Migliore è il tuo modello, maggiore sarà l’area tra la sua curva di CAP e la retta dello scenario casuale.
Ipoteticamente possiamo disegnare il cosiddetto Modello perfetto che rappresenta un modello che è un po ‘ impossibile da costruire a meno che non si abbia una sorta di sfera di cristallo . Mostra che quando si invia l’offerta a 10.000 possibili clienti si ottiene una risposta positiva perfetta in cui tutte le persone contattate hanno acquistato il prodotto.
Tracciare un modello così ipotetico ci aiuterà come riferimento a valutare le curve del CAPPUCCIO dei modelli.
Ci sono 2 approcci per analizzare il grafico precedente:
Prima
- Calcolare l’area sotto il Perfetto Modello di Curva (aP)
- Calcolare l’area sotto il Perfetto Modello di Curva (aR)
- Calcolare il tasso di Precisione(AR) = aR/ aP; come (AR)~1 (Il migliore è il tuo modello) e come (AR)~0 (Il peggiore è il tuo modello)
Secondo
- Disegnare una linea dal 50% punto (circa 50.000) in Totale Contattato asse fino al Modello CAP Curva
- Quindi da quel punto di intersezione, Progetto per il Acquistato asse
- Questo X% valore rappresenta quanto è buono il tuo modello è:
- Se X < 60% /(6000) allora si ha una spazzatura modello
- Se il 60% < X < 70% /(7000), poi si dispone di un povero modello
- Se il 70% < X < 80% /(8000), poi si dispone di un buon modello
- Se l ‘ 80% < X < 90%/ (9000), poi si dispone di un ottimo modello
- Se il 90% < X < 100% / (10,000) che il tuo modello è troppo bello per essere vero! quello che voglio dire è che, questo di solito accade a causa di Overfitting che non è sicuramente una buona cosa in quanto il tuo modello sarà bravo a classificare solo i dati su cui è addestrato ma molto povero con nuove istanze invisibili.