Professional Documents
Culture Documents
Key Challenge:
– Evaluation measures such as accuracy are not well-
suited for imbalanced class
Confusion Matrix:
PREDICTED CLASS
Class=Yes Class=No
ACTUAL Class=Yes a b
CLASS
Class=No c d
a: TP (true positive)
b: FN (false negative)
c: FP (false positive)
d: TN (true negative)
PREDICTED CLASS
Class=Yes Class=No
ACTUAL Class=Yes a b
(TP) (FN)
CLASS
Class=No c d
(FP) (TN)
ad TP TN
Accuracy
a b c d TP TN FP FN
2/15/2021 Introduction to Data Mining, 2 nd Edition 4
Problem with Accuracy
Consider a 2-class problem
– Number of Class NO examples = 990
– Number of Class YES examples = 10
If a model predicts everything to be class NO, accuracy is
990/1000 = 99 %
– This is misleading because this trivial model does not detect any class
YES example
– Detecting the rare class is usually more interesting (e.g., frauds,
intrusions, defects, etc)
PREDICTED CLASS
Class=Yes Class=No
Class=Yes 0 10
ACTUAL
CLASS
Class=No 0 990
2/15/2021 Introduction to Data Mining, 2 nd Edition 5
Which model is better?
PREDICTED
Class=Yes Class=No
A ACTUAL Class=Yes 0 10
Class=No 0 990
Accuracy: 99%
PREDICTED
B Class=Yes Class=No
ACTUAL Class=Yes 10 0
Class=No 500 490
Accuracy: 50%
2/15/2021 Introduction to Data Mining, 2 nd Edition 6
Which model is better?
PREDICTED
A Class=Yes Class=No
ACTUAL Class=Yes 5 5
Class=No 0 990
PREDICTED
B Class=Yes Class=No
ACTUAL Class=Yes 10 0
Class=No 500 490
PREDICTED CLASS
Class=Yes Class=No
Class=Yes a b
ACTUAL
CLASS Class=No c d
a
Precision (p)
ac
a
Recall (r)
ab
2rp 2a
F - measure (F)
r p 2a b c
2/15/2021 Introduction to Data Mining, 2 nd Edition 8
Alternative Measures
10
PREDICTED CLASS Precision (p) 0 .5
10 10
Class=Yes Class=No 10
Recall (r) 1
10 0
Class=Yes 10 0 2 * 1 * 0 .5
ACTUAL F - measure (F) 0.62
CLASS Class=No 10 980 1 0 .5
990
Accuracy 0.99
1000
PREDICTED CLASS 1
Precision (p) 1
1 0
Class=Yes Class=No
1
Recall (r) 0 .1
Class=Yes 1 9 1 9
ACTUAL
2 * 0 .1 * 1
CLASS Class=No 0 990 F - measure (F) 0.18
1 0.1
991
Accuracy 0.991
1000
2/15/2021 Introduction to Data Mining, 2 nd Edition 10
Which of these classifiers is better?
PREDICTED CLASS
Precision (p) 0.8
Class=Yes Class=No
A Class=Yes 40 10
Recall (r) 0.8
F - measure (F) 0.8
ACTUAL
CLASS Class=No 10 40 Accuracy 0.8
PREDICTED CLASS
B Class=Yes Class=No Precision (p) ~ 0.04
Class=Yes 40 10 Recall (r) 0.8
ACTUAL F - measure (F) ~ 0.08
CLASS Class=No 1000 4000
Accuracy ~ 0.8
PREDICTED CLASS
Yes No
ACTUA
L Yes TP FN
CLASS No FP TN
A PREDICTED CLASS
Class=Yes Class=No
Class=Yes 40 10
ACTUAL
CLASS Class=No 10 40
TPR
=4
FPR
Precision (p)=0.038
B PREDICTED CLASS
Class=Yes Class=No
Class=Yes 40 10
ACTUAL
CLASS Class=No 1000 4000
TPR
=4
FPR
A PREDICTED CLASS
Class=Yes Class=No
Precision (p) 0.5
Class=Yes 10 40
TPR Recall (r) 0.2
ACTUAL FPR 0.2
CLASS Class=No 10 40
F measure 0.28
B PREDICTED CLASS
Precision (p) 0.5
Class=Yes Class=No
Class=Yes 25 25
TPR Recall (r) 0.5
ACTUAL
Class=No 25 25 FPR 0.5
CLASS
F measure 0.5
C PREDICTED CLASS
Precision (p) 0.5
Class=Yes Class=No
TPR Recall (r) 0.8
Class=Yes 40 10
ACTUAL FPR 0.8
CLASS Class=No 40 10
F measure 0.61
2/15/2021 Introduction to Data Mining, 2 nd Edition 14
ROC (Receiver Operating Characteristic)
(TPR,FPR):
(0,0): declare everything
to be negative class
(1,1): declare everything
to be positive class
(1,0): ideal
Diagonal line:
– Random guessing
– Below diagonal line:
prediction is opposite
of the true class
x2 < 12.63
x1 < 7.24
x2 < 8.64
x1 < 13.29 x2 < 17.35
x1 < 12.11
x2 < 1.38 x1 < 6.56 x1 < 2.15
0.059 0.220
x1 < 18.88
x1 < 7.24
x2 < 8.64 0.071
0.107
x1 < 12.11
x2 < 1.38 0.164 0.727
x1 < 18.88
0.143 0.669 0.271
0.654 0
x2 < 12.63
x1 < 7.24
x2 < 8.64 0.071
0.107
x1 < 12.11
x2 < 1.38 0.727
0.164
x1 < 18.88
0.143 0.669 0.271
0.654 0
At threshold t:
TPR=0.5, FNR=0.5, FPR=0.12, TNR=0.88
2/15/2021 Introduction to Data Mining, 2 nd Edition 20
How to Construct an ROC curve
• Use a classifier that produces a
Instance Score True Class
continuous-valued score for
1 0.95 +
each instance
2 0.93 + • The more likely it is for the
3 0.87 - instance to be in the + class, the
4 0.85 - higher the score
5 0.85 - • Sort the instances in decreasing
6 0.85 + order according to the score
7 0.76 - • Apply a threshold at each unique
8 0.53 + value of the score
9 0.43 - • Count the number of TP, FP,
10 0.25 + TN, FN at each threshold
• TPR = TP/(TP+FN)
• FPR = FP/(FP + TN)
TP 5 4 4 3 3 3 3 2 2 1 0
FP 5 5 4 4 3 2 1 1 0 0 0
TN 0 0 1 1 2 3 4 4 5 5 5
FN 0 1 1 2 2 2 2 3 3 4 5
TPR 1 0.8 0.8 0.6 0.6 0.6 0.6 0.4 0.4 0.2 0
ROC Curve:
No model consistently
outperforms the other
M is better for
1
small FPR
M is better for
2
large FPR
Area Under the ROC
curve (AUC)
Ideal:
Area = 1
Random guess:
Area = 0.5
Class=Yes 99 1
FPR 0.1
ACTUAL TPR/FPR 9.9
CLASS Class=No 10 90
F measure 0.94
Class=Yes 99 1
FPR 0.1
ACTUAL TPR/FPR 9.9
CLASS Class=No 100 900
F measure 0.66
Class=Yes 99 1
FPR 0.1
ACTUAL TPR/FPR 9.9
CLASS Class=No 1000 9000
F measure 0.165