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