test set - LIACS Data Mining Group

advertisement
Learning Algorithm Evaluation
Algorithm evaluation: Outline

Why?


How?


Train/Test vs Cross-validation
What?


Overfitting
Evaluation measures
Who wins?

Statistical significance
Introduction
Introduction

A model should perform well on unseen data drawn
from the same distribution
Classification accuracy

performance measure





Success: instance’s class is predicted correctly
Error: instance’s class is predicted incorrectly
Error rate: #errors/#instances
Accuracy: #successes/#instances
Quiz

50 examples, 10 classified incorrectly
• Accuracy? Error rate?
Evaluation
Rule #1
Never evaluate on training data!
Train and Test
Step 1: Randomly split data into training and test set (e.g. 2/3-1/3)
a.k.a. holdout set
Train and Test
Step 2: Train model on training data
Train and Test
Step 3: Evaluate model on test data
Train and Test
Quiz: Can I retry with other parameter settings?
Evaluation
Rule #1
Never evaluate on training data!
Rule #2
Never train on test data!
(that includes parameter setting or feature
selection)
Train and Test
Step 4: Optimize parameters on separate validation set
validation
testing
Test data leakage

Never use test data to create the classifier


Can be tricky: e.g. social network
Proper procedure uses three sets



training set: train models
validation set: optimize algorithm parameters
test set: evaluate final model
Making the most of the data


Once evaluation is complete, all the data can be
used to build the final classifier
Trade-off: performance  evaluation accuracy


More training data, better model (but returns diminish)
More test data, more accurate error estimate
Train and Test
Step 5: Build final model on ALL data (more data, better model)
Cross-Validation
k-fold Cross-validation
•
•
•
•
Split data (stratified) in k-folds
Use (k-1) for training, 1 for testing
Repeat k times
Average results
Original
Fold 1
Fold 2
Fold 3
train
test
Cross-validation

Standard method:


Stratified ten-fold cross-validation
10? Enough to reduce sampling bias

Experimentally determined
Leave-One-Out Cross-validation
Original
100



Fold 100
………
A particular form of cross-validation:


Fold 1
#folds = #instances
n instances, build classifier n times
Makes best use of the data, no sampling bias
Computationally expensive
ROC Analysis
ROC Analysis





Stands for “Receiver Operating Characteristic”
From signal processing: tradeoff between hit rate
and false alarm rate over noisy channel
Compute FPR, TPR and plot them in ROC space
Every classifier is a point in ROC space
For probabilistic algorithms


Collect many points by varying prediction threshold
Or, make cost sensitive and vary costs (see below)
Confusion Matrix
actual
+
+
-
TP
FP
true positive
-
FN
false negative
TP+FN
TPrate (sensitivity):
FPrate (fall-out):
false positive
TN
true negative
FP+TN
ROC space
J48
parameters fitted
J48
OneR
classifiers
ROC curves
Change prediction threshold:
Threshold t: (P(+) > t)
Area Under Curve (AUC)
=0.75
ROC curves




Alternative method (easier, but less intuitive)
Rank probabilities
Start curve in (0,0), move down probability list
If positive, move up. If negative, move right


Jagged curve—one set of test data
Smooth curve—use cross-validation
ROC curves
Method selection




Overall: use method with largest Area
Under ROC curve (AUROC)
If you aim to cover just 40% of true
positives in a sample: use method A
Large sample: use method B
In between: choose between A and B with
appropriate probabilities
ROC Space and Costs
equal
costs
skewed
costs
Different Costs


In practice, TP and FN errors incur different costs
Examples:




Medical diagnostic tests: does X have leukemia?
Loan decisions: approve mortgage for X?
Promotional mailing: will X buy the product?
Add cost matrix to evaluation that weighs TP,FP,...
pred +
pred -
actual +
cTP = 0
cFN = 1
actual -
cFP = 1
cTN = 0
Statistical Significance
Comparing data mining schemes

Which of two learning algorithms performs better?



Note: this is domain dependent!
Obvious way: compare 10-fold CV estimates
Problem: variance in estimate


Variance can be reduced using repeated CV
However, we still don’t know whether results are reliable
Significance tests

Significance tests tell us how confident we can be
that there really is a difference




Null hypothesis: there is no “real” difference
Alternative hypothesis: there is a difference
A significance test measures how much evidence
there is in favor of rejecting the null hypothesis
E.g. 10 cross-validation scores: B better than A?
P(perf)
Algorithm A
Algorithm B
x x x xxxxx x x
x x x xxxx x x x
perf
Paired t-test
P(perf)
Algorithm A
Algorithm B
perf


Student’s t-test tells whether the means of two
samples (e.g., 10 cross-validation scores) are
significantly different
Use a paired t-test when individual samples are
paired


i.e., they use the same randomization
Same CV folds are used for both algorithms
William Gosset
Born: 1876 in Canterbury; Died: 1937 in
Beaconsfield, England
Worked as chemist in the Guinness brewery in
Dublin in 1899. Invented the t-test to handle
small samples for quality control in brewing.
Wrote under the name "Student".
Performing the test
1. Fix a significance level


Algoritme A
Algoritme B
P(perf)

perf
Significant difference at % level implies (100-)%
chance that there really is a difference
Scientific work: 5% or smaller (>95% certainty)
2. Divide
 by two (two-tailed test)
3. Look up the z-value corresponding to
/2:
4. If t  –z or t  z: difference is significant

null hypothesis can be rejected
α
z
0.1%
4.3
0.5%
3.25
1%
2.82
5%
1.83
10%
1.38
20%
0.88
Download