Valutazione delle Prestazioni di un Classificatore Performance Evaluation Valutazione delle Prestazioni Una volta appreso un classificatore è di fondamentale importanza valutarne le prestazioni La valutazione delle prestazioni richiede un attento esame del problema e delle componenti per cui ha senso effettuare una valutazione E’ necessario utilizzare in modo ragionato le misure di valutazione disponibili Giustificare perché utilizzare una misura piuttosto che un’altra o perché complementare una misura con un’altra al fine di avere un quadro completo delle prestazioni Modalità di test di un classificatore Sul training set stesso overfitting! Su un test set disgiunto dal training set Mediante cross validation Suddivido il training set in k sottoinsiemi (k-fold) Testo il classificatore k volte allenandolo su k-1 sottoinsiemi e testandolo sul sottoinsieme rimanente Le prestazioni complessive possono essere calcolate mediando sui k esperimenti k = 10 risulta sperimentalmente un buon numero di fold Mediante split Suddividiamo l’insieme di dati disponibile in training e test set (normalmente il primo è più grande del secondo, es. 66% e 34%) Matrice di Confusione Applicando il classificatore al test set possiamo visualizzare la distribuzione delle istanze rispetto alla classificazione predetta e a quella reale Utilizziamo la cosiddetta matrice di confusione Es. se la classificazione è binaria: Classe predetta Positivo Negativo TP FN FP TN Classe reale Positivo Negativo TP = true positive TN = true negative FN = false negative FP = false positive Misure per valutare le prestazioni (1) Istanze positive Test Set T TN TP FP FN Istanze negative Istanze con predizione positiva Misure per valutare le prestazioni (2) Istanze positive Test Set T TN TP FP FN Istanze negative Istanze con predizione positiva Precisione P = TP/(TP+FP) Percentuale di predizioni positive corrette Misure per valutare le prestazioni (3) Istanze positive Test Set T TN TP FP FN Istanze negative Istanze con predizione positiva Recall R = TP/(TP+FN) Percentuale di istanze realmente positive classificate come positive Misure per valutare le prestazioni (4) Istanze positive Test Set T TN TP FP FN Istanze negative Istanze con predizione positiva TP rate = TP/(TP+FN) = Recall Percentuale di istanze realmente positive classificate come positive Misure per valutare le prestazioni (5) Istanze positive Test Set T TN TP FP FN Istanze negative Istanze con predizione positiva FP rate = FP/(FP+TN) Percentuale di istanze realmente negative classificate erroneamente come positive Misure per valutare le prestazioni (6) Istanze positive Test Set T TN TP FP FN Istanze negative Istanze con predizione positiva Accuratezza = (TP+TN)/(TP+TN+FP+FN) Percentuale di istanze sia positive sia negative classificate correttamente F1 measure F1 = 2PR / (P+R) E’ una media armonica tra precisione e recall F1 Come utilizzare le misure Quando utilizzare la accuracy Quando ho un problema multiclasse e tutte le classi sono di interesse Quando ho un problema binario, le due classi sono bilanciate e interessanti Quando utilizzare P, R e F1 Se c'è almeno una classe non interessante Se voglio studiare l’andamento del classificatore su una classe in particolare Esempio 1 Classificazione binaria Esempio: il classificatore emette sempre classificazione negativa Istanze positive Test Set T 95% 5% Istanze negative Accuracy = 0.95 P=0 R=0 Esempio 2 Classificazione binaria Esempio: il classificatore emette sempre classificazione positiva Istanze positive Test Set T 95% 5% Istanze negative Accuracy = 0.05 P = 0.05 R=1 Esempio 3 Classificazione binaria Istanze positive Test Set T 70% = 20%+50% 80% 20% Istanze negative Accuracy = 50/100 = 0.5 P = 50/70 = 0.71 R = 50/80 = 0.62 70% istanze classificate come positive (di cui 20% FP e 50% TP) Esempio 4 Classificazione n-aria Classe di interesse Test Set T 40% 55% 5% Caso: Il classificatore classifica correttamente tutta la classe di interesse, ma assegna classe rossa agli azzurri e azzurra ai rossi Accuracy = 5/100 = 0.05!!! P (rispetto alla classe verde) = 5/5 = 1 R (rispetto alla classe verde) = 5/5 = 1 Confrontare i Risultati Come verificare se le prestazioni di un classificatore sono “simili” (ovvero “stabili”) su insiemi di dati differenti? Dati 2 classificatori C1 e C2: come verificare se, sperimentando sullo stesso test set, otteniamo prestazioni differenti? Significatività Statistica Differenze tra percentuali che “saltano all’occhio” sono grandi abbastanza da essere “importanti”? Es. supponiamo che due sistemi abbiano prestazioni rispettivamente del 70% e del 73%: c’è differenza di prestazioni? Dobbiamo chiederci: le differenze di prestazioni sono statisticamente significative? Significatività statistica: le differenze osservate sono tanto significativamente diverse da 0 che non potrebbero verificarsi per caso? Indipendenza Statistica: Esempio sotto 40 anni sopra 40 anni Totale Ascolta Rock Ascolta Classica Totale 100 30 130 40 40 80 140 70 210 C’è differenza (statisticamente significativa) di comportamento nell’ascolto della musica tra chi è sotto i 40 e chi è sopra i 40 anni sul campione analizzato? Test di Indipendenza Statistica 2 Il test chi quadro verifica l’indipendenza tra due variabili H0: ipotesi di indipendenza statistica (ipotesi nulla) Es. non ci sono differenze nell’ascolto di musica secondo la fascia d’età La statistica chi quadro consiste nel confronto tra le frequenze osservate fo e le frequenze che ci si aspetterebbero se le due variabili fossero statisticamente indipendenti fe (frequenze attese, expected frequencies) E’ una misura della deviazione del campione dal valore atteso ed è dimostrato che la distribuzione limite è una distribuzione chi quadro La distribuzione chi quadro describe la distribuzione della varianza di una campione ottenuto da una popolazione con distribuzione normale Che cos’è 2 E’ una distribuzione di probabilità compresa tra 0 e infinito E’ asimmetrica Con l’aumentare dei gradi di libertà (diremo dopo cosa sono), la curva diventa sempre più vicina a una distribuzione normale Utilizzata per verificare l’indipendenza di due criteri di classificazione Test di Indipendenza Statistica 2 Passi: Stabilire l’ipotesi nulla Calcolare le frequenze attese (sotto l’ipotesi nulla) Calcolare la statistica chi quadro Determinare i gradi di libertà e scegliere il livello di significatività statistica per il test Confrontare il valore ottenuto con il valore critico chi quadro Test di Indipendenza Statistica 2 La frequenza attesa è ottenuta dalle distribuzioni marginali delle due variabili: totale riga* totale colonna f e n http://ccnmtl.columbia.edu/projects/qmss/chi_intro.html Indipendenza Statistica: Esempio Ascolta Rock Ascolta Classica sotto 100 30 40 anni (140*130/210) (70*130/210) sopra 40 40 40 anni (140*80/210) (70*80/210) Totale 140 70 Totale 130 80 210 C’è differenza (statisticamente significativa) di comportamento nell’ascolto della musica tra chi è sotto i 40 e chi è sopra i 40 anni sul campione analizzato? Indipendenza Statistica: Esempio Ascolta Rock Ascolta Classica sotto 100 30 40 anni (86,66) (43,33) sopra 40 40 40 anni (53,33) (26,66) Totale 140 70 Totale 130 80 210 C’è differenza (statisticamente significativa) di comportamento nell’ascolto della musica tra chi è sotto i 40 e chi è sopra i 40 anni sul campione analizzato? Test di Indipendenza Statistica 2 Chi quadro è calcolato come segue: ( fo f e ) fe 2 2 Nel nostro esempio: 2 2 2 2 ( 100 86 , 66 ) ( 30 43 , 33 ) ( 40 53 , 33 ) ( 40 26 , 66 ) 2 86,66 43,33 53,33 26,66 2,05 4,1 3,33 6,67 16,15 Determinare i gradi di libertà Data una tabella di contingenza a n righe e m colonne, il numero di gradi di libertà è dato da (n-1)*(m-1) Nell’esempio: (2-1)*(2-1)=1 grado di libertà Perché? I gradi di libertà rappresentano il numero di celle che sono sufficienti a determine le altre celle della tabella di contingenza supponendo di conoscere i totali marginali Nell’esempio, se conosco i totali di righe e colonne, è sufficiente ottenere il valore di una singola cella (gradi di libertà = 1) per poter riempire il resto della tabella Confronto della statistica 2 con il valore critico 2 Dati i gradi di libertà df e il livello di confidenza p, si consulta una tabella standard che ci fornisce il valore critico di 2 df 1 2 3 4 5 6 7 8 9 10 ... p = 0.05 3.84 5.99 7.82 9.49 11.07 12.59 14.07 15.51 16.92 18.31 p = 0.01 6.64 9.21 11.35 13.28 15.09 16.81 18.48 20.09 21.67 23.21 p = 0.001 10.83 13.82 16.27 18.47 20.52 22.46 24.32 26.13 27.88 29.59 Confronto della statistica 2 con il valore critico 2 Se il 2 calcolato è maggiore di quello critico Rifiutiamo l’ipotesi nulla (differenze statisticamente significative) Nell’esempio, 2=16,15 > 10,83, per cui la probabilità p che l’ipotesi nulla sia verificata è < 0,001 Altrimenti, non rifiutiamo l’ipotesi nulla 0.95 P(20.05,1 2)<0.05 P(X2 Alcune regole per la statistica 2 Dati estratti casualmente dalla popolazione in esame Utilizzare conteggi e non frequenze Numero di casi analizzati 30 per rendere il test affidabile e almeno 5 casi per cella nella tabella di contingenza p <= 0.05 Applicazione agli esperimenti (1) Supponiamo di applicare lo stesso classificatore a due campioni dello stesso insieme di dati: campione 1 campione 2 totale corretti errati totale 80 100 180 95 115 210 175 225 390 Applicazione agli esperimenti (1) Supponiamo di applicare lo stesso classificatore a due campioni dello stesso insieme di dati: corretti errati campione 1 80 100 campione 2 (80,77) 95 (103,85) 115 (94,23) (121,15) 175 225 totale totale 180 210 390 Applicazione agli esperimenti (1) Calcoliamo il valore di 2 2 2 2 2 ( 80 80 , 77 ) ( 100 103 , 85 ) ( 95 94 , 23 ) ( 115 121 , 15 ) 2 80,77 103,85 94,23 121,15 0,0073 0,142 0,006 0,312 0,467 Questo valore è ben al di sotto di 3.84, il valore critico di 2 con 1 grado di libertà e p = 0.05 In altre parole, la probabilità dell’ipotesi nulla è > 0.05, quindi non possiamo rigettarla I risultati dei due esperimenti non differiscono in modo statisticamente significativo Ovvero, il classificatore si comporta “più o meno” allo stesso modo sui due campioni Applicazione agli esperimenti (2) Supponiamo di applicare due classificatori diversi allo stesso insieme di dati: corretti errati classificatore 1 700 300 classificatore 2 (725) 750 (275) 250 (725) (275) 1450 550 totale totale 1000 1000 2000 Applicazione agli esperimenti (2) Calcoliamo il valore di 2 (700 725) 2 (300 275) 2 (740 725) 2 (260 275) 2 725 275 725 275 0,86 2,27 0,86 2,27 6,26 2 Questo valore è ben al di sopra di 3.84, il valore critico di 2 con 1 grado di libertà e p = 0.05 In altre parole, la probabilità dell’ipotesi nulla è < 0.05, quindi possiamo rigettarla Le due prestazioni differiscono in modo statisticamente significativo Ovvero, i due classificatori hanno prestazioni che differiscono in modo statisticamente significativo