+ All Categories
Home > Documents > Classification: Basic Concepts and Decision Trees.

Classification: Basic Concepts and Decision Trees.

Date post: 14-Dec-2015
Category:
Upload: brice-linnell
View: 223 times
Download: 2 times
Share this document with a friend
Popular Tags:
124
Classification: Basic Concepts and Decision Trees
Transcript
Page 1: Classification: Basic Concepts and Decision Trees.

Classification: Basic Concepts and Decision Trees

Page 2: Classification: Basic Concepts and Decision Trees.

A programming task

Page 3: Classification: Basic Concepts and Decision Trees.

Classification: Definition

• Given a collection of records (training set )– Each record contains a set of attributes, one of the

attributes is the class.• Find a model for class attribute as a function

of the values of other attributes.• Goal: previously unseen records should be

assigned a class as accurately as possible.– A test set is used to determine the accuracy of the

model. Usually, the given data set is divided into training and test sets, with training set used to build the model and test set used to validate it.

Page 4: Classification: Basic Concepts and Decision Trees.

Illustrating Classification Task

Apply

Model

Induction

Deduction

Learn

Model

Model

Tid Attrib1 Attrib2 Attrib3 Class

1 Yes Large 125K No

2 No Medium 100K No

3 No Small 70K No

4 Yes Medium 120K No

5 No Large 95K Yes

6 No Medium 60K No

7 Yes Large 220K No

8 No Small 85K Yes

9 No Medium 75K No

10 No Small 90K Yes 10

Tid Attrib1 Attrib2 Attrib3 Class

11 No Small 55K ?

12 Yes Medium 80K ?

13 Yes Large 110K ?

14 No Small 95K ?

15 No Large 67K ? 10

Test Set

Learningalgorithm

Training Set

Page 5: Classification: Basic Concepts and Decision Trees.

Examples of Classification Task

• Predicting tumor cells as benign or malignant

• Classifying credit card transactions as legitimate or fraudulent

• Classifying secondary structures of protein as alpha-helix, beta-sheet, or random coil

• Categorizing news stories as finance, weather, entertainment, sports, etc

Page 6: Classification: Basic Concepts and Decision Trees.

Classification Using Distance• Place items in class to which they are

“closest”.• Must determine distance between an item

and a class.• Classes represented by

– Centroid: Central value.– Medoid: Representative point.– Individual points

• Algorithm: KNN

Page 7: Classification: Basic Concepts and Decision Trees.

Classification Techniques

• Decision Tree based Methods• Rule-based Methods• Memory based reasoning• Neural Networks• Naïve Bayes and Bayesian Belief Networks• Support Vector Machines

Page 8: Classification: Basic Concepts and Decision Trees.

A first exampleDatabase of 20,000 images of handwritten digits, each

labeled by a human

[28 x 28 greyscale; pixel values 0-255; labels 0-9]

Use these to learn a classifier which will label digit-images automatically…

Page 9: Classification: Basic Concepts and Decision Trees.

The learning problem

Input space X = {0,1,…,255}784

Output space Y = {0,1,…,9}

Training set (x1, y1), …, (xm, ym)

m = 20000

Classifier f: X ! Y

LearningAlgorithm

To measure how good f is: use a test set[Our test set: 100 instances of each digit.]

Page 10: Classification: Basic Concepts and Decision Trees.

A possible strategyInput space X = {0,1,…,255}784

Output space Y = {0,1,…,9}

Treat each image as a point in 784-dimensional Euclidean space

To classify a new image: find its nearest neighbor in the database (training set) and return that label

f = entire training set + search engine

Page 11: Classification: Basic Concepts and Decision Trees.

K Nearest Neighbor (KNN):

• Training set includes classes.• Examine K items near item to be classified.• New item placed in class with the most

number of close items.• O(q) for each tuple to be classified. (Here q

is the size of the training set.)

Page 12: Classification: Basic Concepts and Decision Trees.

KNN

Page 13: Classification: Basic Concepts and Decision Trees.

Nearest neighborImage to label Nearest neighbor

Overall:

error rate = 6%

(on test set)

Question: what is the error rate for random guessing?

Page 14: Classification: Basic Concepts and Decision Trees.

What does it get wrong?Who knows… but here’s a hypothesis:Each digit corresponds to some connected region of R784. Some of the

regions come close to each other; problems occur at these boundaries.

e.g. a random point in this ball has only a 70% chance of being in R2

R2R1

Page 15: Classification: Basic Concepts and Decision Trees.

Nearest neighbor: pros and consProsSimpleFlexibleExcellent performance on a wide range of tasks

ConsAlgorithmic: time consuming – with n training

points in Rd, time to label a newpoint is O(nd)

Statistical: memorization, not learning!no insight into the domainwould prefer a compact classifier

Page 16: Classification: Basic Concepts and Decision Trees.

Prototype selectionA possible fix: instead of the entire training set, just keep a

“representative sample”

Voronoicells

“Decision boundary”

Page 17: Classification: Basic Concepts and Decision Trees.

Prototype selectionA possible fix: instead of the entire training set, just keep a

“representative sample”

Voronoicells

“Decision boundary”

Page 18: Classification: Basic Concepts and Decision Trees.

How to pick prototypes?They needn’t be actual data points

Idea 2: one prototype per class: mean of training points

Examples:

Error = 23%

Page 19: Classification: Basic Concepts and Decision Trees.

Postscript: learning models

Training data

Classifier f

LearningAlgorithm

Batch learning On-line learning

See a new point x

predict label

test

See y

Updateclassifer

Page 20: Classification: Basic Concepts and Decision Trees.

Example of a Decision Tree

Tid Refund MaritalStatus

TaxableIncome Cheat

1 Yes Single 125K No

2 No Married 100K No

3 No Single 70K No

4 Yes Married 120K No

5 No Divorced 95K Yes

6 No Married 60K No

7 Yes Divorced 220K No

8 No Single 85K Yes

9 No Married 75K No

10 No Single 90K Yes10

categoric

al

categoric

al

continuous

class

Refund

MarSt

TaxInc

YESNO

NO

NO

Yes No

Married Single, Divorced

< 80K > 80K

Splitting Attributes

Training Data Model: Decision Tree

Page 21: Classification: Basic Concepts and Decision Trees.

Another Example of Decision Tree

Tid Refund MaritalStatus

TaxableIncome Cheat

1 Yes Single 125K No

2 No Married 100K No

3 No Single 70K No

4 Yes Married 120K No

5 No Divorced 95K Yes

6 No Married 60K No

7 Yes Divorced 220K No

8 No Single 85K Yes

9 No Married 75K No

10 No Single 90K Yes10

categoric

al

categoric

al

continuous

classMarSt

Refund

TaxInc

YESNO

NO

NO

Yes No

Married Single,

Divorced

< 80K > 80K

There could be more than one tree that fits the same data!

Page 22: Classification: Basic Concepts and Decision Trees.

Decision Tree Classification Task

Apply

Model

Induction

Deduction

Learn

Model

Model

Tid Attrib1 Attrib2 Attrib3 Class

1 Yes Large 125K No

2 No Medium 100K No

3 No Small 70K No

4 Yes Medium 120K No

5 No Large 95K Yes

6 No Medium 60K No

7 Yes Large 220K No

8 No Small 85K Yes

9 No Medium 75K No

10 No Small 90K Yes 10

Tid Attrib1 Attrib2 Attrib3 Class

11 No Small 55K ?

12 Yes Medium 80K ?

13 Yes Large 110K ?

14 No Small 95K ?

15 No Large 67K ? 10

Test Set

TreeInductionalgorithm

Training SetDecision Tree

Page 23: Classification: Basic Concepts and Decision Trees.

Apply Model to Test Data

Refund

MarSt

TaxInc

YESNO

NO

NO

Yes No

Married Single, Divorced

< 80K > 80K

Refund Marital Status

Taxable Income Cheat

No Married 80K ? 10

Test DataStart from the root of tree.

Page 24: Classification: Basic Concepts and Decision Trees.

Apply Model to Test Data

Refund

MarSt

TaxInc

YESNO

NO

NO

Yes No

Married Single, Divorced

< 80K > 80K

Refund Marital Status

Taxable Income Cheat

No Married 80K ? 10

Test Data

Page 25: Classification: Basic Concepts and Decision Trees.

Apply Model to Test Data

Refund

MarSt

TaxInc

YESNO

NO

NO

Yes No

Married Single, Divorced

< 80K > 80K

Refund Marital Status

Taxable Income Cheat

No Married 80K ? 10

Test Data

Page 26: Classification: Basic Concepts and Decision Trees.

Apply Model to Test Data

Refund

MarSt

TaxInc

YESNO

NO

NO

Yes No

Married Single, Divorced

< 80K > 80K

Refund Marital Status

Taxable Income Cheat

No Married 80K ? 10

Test Data

Page 27: Classification: Basic Concepts and Decision Trees.

Apply Model to Test Data

Refund

MarSt

TaxInc

YESNO

NO

NO

Yes No

Married Single, Divorced

< 80K > 80K

Refund Marital Status

Taxable Income Cheat

No Married 80K ? 10

Test Data

Page 28: Classification: Basic Concepts and Decision Trees.

Apply Model to Test Data

Refund

MarSt

TaxInc

YESNO

NO

NO

Yes No

Married Single, Divorced

< 80K > 80K

Refund Marital Status

Taxable Income Cheat

No Married 80K ? 10

Test Data

Assign Cheat to “No”

Page 29: Classification: Basic Concepts and Decision Trees.

Decision Tree Classification Task

Apply

Model

Induction

Deduction

Learn

Model

Model

Tid Attrib1 Attrib2 Attrib3 Class

1 Yes Large 125K No

2 No Medium 100K No

3 No Small 70K No

4 Yes Medium 120K No

5 No Large 95K Yes

6 No Medium 60K No

7 Yes Large 220K No

8 No Small 85K Yes

9 No Medium 75K No

10 No Small 90K Yes 10

Tid Attrib1 Attrib2 Attrib3 Class

11 No Small 55K ?

12 Yes Medium 80K ?

13 Yes Large 110K ?

14 No Small 95K ?

15 No Large 67K ? 10

Test Set

TreeInductionalgorithm

Training Set

Decision Tree

Page 30: Classification: Basic Concepts and Decision Trees.

Decision Tree Induction

• Many Algorithms:– Hunt’s Algorithm (one of the earliest)– CART– ID3, C4.5– SLIQ,SPRINT

Page 31: Classification: Basic Concepts and Decision Trees.

General Structure of Hunt’s Algorithm

• Let Dt be the set of training records that reach a node t

• General Procedure:– If Dt contains records that belong

the same class yt, then t is a leaf node labeled as yt

– If Dt is an empty set, then t is a leaf node labeled by the default class, yd

– If Dt contains records that belong to more than one class, use an attribute test to split the data into smaller subsets. Recursively apply the procedure to each subset.

Tid Refund Marital Status

Taxable Income Cheat

1 Yes Single 125K No

2 No Married 100K No

3 No Single 70K No

4 Yes Married 120K No

5 No Divorced 95K Yes

6 No Married 60K No

7 Yes Divorced 220K No

8 No Single 85K Yes

9 No Married 75K No

10 No Single 90K Yes 10

Dt

?

Page 32: Classification: Basic Concepts and Decision Trees.

Hunt’s Algorithm

Don’t Cheat

Refund

Don’t Cheat

Don’t Cheat

Yes No

Refund

Don’t Cheat

Yes No

MaritalStatus

Don’t Cheat

Cheat

Single,Divorced

Married

TaxableIncome

Don’t Cheat

< 80K >= 80K

Refund

Don’t Cheat

Yes No

MaritalStatus

Don’t Cheat

Cheat

Single,Divorced

Married

Tid Refund MaritalStatus

TaxableIncome Cheat

1 Yes Single 125K No

2 No Married 100K No

3 No Single 70K No

4 Yes Married 120K No

5 No Divorced 95K Yes

6 No Married 60K No

7 Yes Divorced 220K No

8 No Single 85K Yes

9 No Married 75K No

10 No Single 90K Yes10

Page 33: Classification: Basic Concepts and Decision Trees.

Tree Induction

• Greedy strategy.– Split the records based on an attribute test that

optimizes certain criterion.

• Issues– Determine how to split the records

• How to specify the attribute test condition?• How to determine the best split?

– Determine when to stop splitting

Page 34: Classification: Basic Concepts and Decision Trees.

Tree Induction

• Greedy strategy.– Split the records based on an attribute test that

optimizes certain criterion.

• Issues– Determine how to split the records

• How to specify the attribute test condition?• How to determine the best split?

– Determine when to stop splitting

Page 35: Classification: Basic Concepts and Decision Trees.

How to Specify Test Condition?

• Depends on attribute types– Nominal– Ordinal– Continuous

• Depends on number of ways to split– 2-way split– Multi-way split

Page 36: Classification: Basic Concepts and Decision Trees.

Splitting Based on Nominal Attributes• Multi-way split: Use as many partitions as distinct values.

• Binary split: Divides values into two subsets. Need to find optimal partitioning.

CarTypeFamily

Sports

Luxury

CarType{Family, Luxury} {Sports}

CarType{Sports, Luxury} {Family}

OR

Page 37: Classification: Basic Concepts and Decision Trees.

Splitting Based on Ordinal Attributes• Multi-way split: Use as many partitions as distinct values.

• Binary split: Divides values into two subsets. Need to find optimal partitioning.

• What about this split?

SizeSmall

Medium

Large

Size{Medium,

Large} {Small}

Size{Small,

Medium} {Large}OR

Size{Small, Large} {Medium}

Page 38: Classification: Basic Concepts and Decision Trees.

Splitting Based on Continuous Attributes

• Different ways of handling– Discretization to form an ordinal categorical

attribute• Static – discretize once at the beginning• Dynamic – ranges can be found by equal interval

bucketing, equal frequency bucketing(percentiles), or clustering.

– Binary Decision: (A < v) or (A v)• consider all possible splits and finds the best cut• can be more compute intensive

Page 39: Classification: Basic Concepts and Decision Trees.

Splitting Based on Continuous Attributes

TaxableIncome> 80K?

Yes No

TaxableIncome?

(i) Binary split (ii) Multi-way split

< 10K

[10K,25K) [25K,50K) [50K,80K)

> 80K

Page 40: Classification: Basic Concepts and Decision Trees.

Tree Induction

• Greedy strategy.– Split the records based on an attribute test that

optimizes certain criterion.

• Issues– Determine how to split the records

• How to specify the attribute test condition?• How to determine the best split?

– Determine when to stop splitting

Page 41: Classification: Basic Concepts and Decision Trees.

How to determine the Best Split

OwnCar?

C0: 6C1: 4

C0: 4C1: 6

C0: 1C1: 3

C0: 8C1: 0

C0: 1C1: 7

CarType?

C0: 1C1: 0

C0: 1C1: 0

C0: 0C1: 1

StudentID?

...

Yes No Family

Sports

Luxury c1c10

c20

C0: 0C1: 1

...

c11

Before Splitting: 10 records of class 0,10 records of class 1

Which test condition is the best?

Page 42: Classification: Basic Concepts and Decision Trees.

How to determine the Best Split

C0: 5C1: 5

• Greedy approach: – Nodes with homogeneous class distribution are

preferred• Need a measure of node impurity:

C0: 9C1: 1

Non-homogeneous,

High degree of impurity

Homogeneous,

Low degree of impurity

Page 43: Classification: Basic Concepts and Decision Trees.

Measures of Node Impurity

• Gini Index

• Entropy

• Misclassification error

Page 44: Classification: Basic Concepts and Decision Trees.

How to Find the Best Split

C0 N10 C1 N11

B?

Yes No

Node N3 Node N4

A?

Yes No

Node N1 Node N2

Before Splitting:

C0 N20 C1 N21

C0 N30 C1 N31

C0 N40 C1 N41

C0 N00 C1 N01

M0

M1 M2 M3 M4

M12 M34Gain = M0 – M12 vs M0 – M34

Page 45: Classification: Basic Concepts and Decision Trees.

Measure of Impurity: GINI• Gini Index for a given node t :

(NOTE: p( j | t) is the relative frequency of class j at node t).

– Maximum (1 - 1/nc) when records are equally distributed among all classes, implying least interesting information

– Minimum (0.0) when all records belong to one class, implying most interesting information

j

tjptGINI 2)]|([1)(

C1 0C2 6

Gini=0.000

C1 2C2 4

Gini=0.444

C1 3C2 3

Gini=0.500

C1 1C2 5

Gini=0.278

Page 46: Classification: Basic Concepts and Decision Trees.

Examples for computing GINI

C1 0 C2 6

C1 2 C2 4

C1 1 C2 5

P(C1) = 0/6 = 0 P(C2) = 6/6 = 1

Gini = 1 – P(C1)2 – P(C2)2 = 1 – 0 – 1 = 0

j

tjptGINI 2)]|([1)(

P(C1) = 1/6 P(C2) = 5/6

Gini = 1 – (1/6)2 – (5/6)2 = 0.278

P(C1) = 2/6 P(C2) = 4/6

Gini = 1 – (2/6)2 – (4/6)2 = 0.444

Page 47: Classification: Basic Concepts and Decision Trees.

Splitting Based on GINI• Used in CART, SLIQ, SPRINT.• When a node p is split into k partitions (children), the quality of

split is computed as,

where, ni = number of records at child i,

n = number of records at node p.

k

i

isplit iGINI

n

nGINI

1

)(

Page 48: Classification: Basic Concepts and Decision Trees.

Binary Attributes: Computing GINI Index Splits into two partitions Effect of Weighing partitions:

Larger and Purer Partitions are sought for.

B?

Yes No

Node N1 Node N2

Parent

C1 6

C2 6

Gini = 0.500

N1 N2 C1 5 1

C2 2 4

Gini=0.333

Gini(N1) = 1 – (5/6)2 – (2/6)2 = 0.194

Gini(N2) = 1 – (1/6)2 – (4/6)2 = 0.528

Gini(Children) = 7/12 * 0.194 + 5/12 * 0.528= 0.333

Page 49: Classification: Basic Concepts and Decision Trees.

Categorical Attributes: Computing Gini Index• For each distinct value, gather counts for each class in the

dataset• Use the count matrix to make decisions

CarType{Sports,Luxury}

{Family}

C1 3 1

C2 2 4

Gini 0.400

CarType

{Sports}{Family,Luxury}

C1 2 2

C2 1 5

Gini 0.419

CarType

Family Sports Luxury

C1 1 2 1

C2 4 1 1

Gini 0.393

Multi-way split Two-way split (find best partition of values)

Page 50: Classification: Basic Concepts and Decision Trees.

Continuous Attributes: Computing Gini Index

• Use Binary Decisions based on one value• Several Choices for the splitting value

– Number of possible splitting values = Number of distinct values

• Each splitting value has a count matrix associated with it– Class counts in each of the partitions, A < v

and A v• Simple method to choose best v

– For each v, scan the database to gather count matrix and compute its Gini index

– Computationally Inefficient! Repetition of work.

Tid Refund Marital Status

Taxable Income Cheat

1 Yes Single 125K No

2 No Married 100K No

3 No Single 70K No

4 Yes Married 120K No

5 No Divorced 95K Yes

6 No Married 60K No

7 Yes Divorced 220K No

8 No Single 85K Yes

9 No Married 75K No

10 No Single 90K Yes 10

TaxableIncome> 80K?

Yes No

Page 51: Classification: Basic Concepts and Decision Trees.

Continuous Attributes: Computing Gini Index...

• For efficient computation: for each attribute,– Sort the attribute on values– Linearly scan these values, each time updating the count matrix and

computing gini index– Choose the split position that has the least gini index

Cheat No No No Yes Yes Yes No No No No

Taxable Income

60 70 75 85 90 95 100 120 125 220

55 65 72 80 87 92 97 110 122 172 230

<= > <= > <= > <= > <= > <= > <= > <= > <= > <= > <= >

Yes 0 3 0 3 0 3 0 3 1 2 2 1 3 0 3 0 3 0 3 0 3 0

No 0 7 1 6 2 5 3 4 3 4 3 4 3 4 4 3 5 2 6 1 7 0

Gini 0.420 0.400 0.375 0.343 0.417 0.400 0.300 0.343 0.375 0.400 0.420

Split Positions

Sorted Values

Page 52: Classification: Basic Concepts and Decision Trees.

Alternative Splitting Criteria based on INFO• Entropy at a given node t:

(NOTE: p( j | t) is the relative frequency of class j at node t).

– Measures homogeneity of a node. • Maximum (log nc) when records are equally distributed

among all classes implying least information• Minimum (0.0) when all records belong to one class,

implying most information

– Entropy based computations are similar to the GINI index computations

j

tjptjptEntropy )|(log)|()(

Page 53: Classification: Basic Concepts and Decision Trees.

Examples for computing Entropy

C1 0 C2 6

C1 2 C2 4

C1 1 C2 5

P(C1) = 0/6 = 0 P(C2) = 6/6 = 1

Entropy = – 0 log 0 – 1 log 1 = – 0 – 0 = 0

P(C1) = 1/6 P(C2) = 5/6

Entropy = – (1/6) log2 (1/6) – (5/6) log2 (1/6) = 0.65

P(C1) = 2/6 P(C2) = 4/6

Entropy = – (2/6) log2 (2/6) – (4/6) log2 (4/6) = 0.92

j

tjptjptEntropy )|(log)|()(2

Page 54: Classification: Basic Concepts and Decision Trees.

Splitting Based on INFO...• Information Gain:

Parent Node, p is split into k partitions;ni is number of records in partition i

– Measures Reduction in Entropy achieved because of the split. Choose the split that achieves most reduction (maximizes GAIN)

– Used in ID3 and C4.5– Disadvantage: Tends to prefer splits that result in large number of

partitions, each being small but pure.

k

i

i

splitiEntropy

nn

pEntropyGAIN1

)()(

Page 55: Classification: Basic Concepts and Decision Trees.

Splitting Based on INFO...• Gain Ratio:

Parent Node, p is split into k partitionsni is the number of records in partition i

– Adjusts Information Gain by the entropy of the partitioning (SplitINFO). Higher entropy partitioning (large number of small partitions) is penalized!

– Used in C4.5– Designed to overcome the disadvantage of Information Gain

SplitINFO

GAINGainRATIO Split

split

k

i

ii

nn

nn

SplitINFO1

log

Page 56: Classification: Basic Concepts and Decision Trees.

Splitting Criteria based on Classification Error

• Classification error at a node t :

• Measures misclassification error made by a node. • Maximum (1 - 1/nc) when records are equally distributed among all

classes, implying least interesting information• Minimum (0.0) when all records belong to one class, implying most

interesting information

)|(max1)( tiPtErrori

Page 57: Classification: Basic Concepts and Decision Trees.

Examples for Computing Error

C1 0 C2 6

C1 2 C2 4

C1 1 C2 5

P(C1) = 0/6 = 0 P(C2) = 6/6 = 1

Error = 1 – max (0, 1) = 1 – 1 = 0

P(C1) = 1/6 P(C2) = 5/6

Error = 1 – max (1/6, 5/6) = 1 – 5/6 = 1/6

P(C1) = 2/6 P(C2) = 4/6

Error = 1 – max (2/6, 4/6) = 1 – 4/6 = 1/3

)|(max1)( tiPtErrori

Page 58: Classification: Basic Concepts and Decision Trees.

Comparison among Splitting Criteria

For a 2-class problem:

Page 59: Classification: Basic Concepts and Decision Trees.

Misclassification Error vs Gini

A?

Yes No

Node N1 Node N2

Parent

C1 7

C2 3

Gini = 0.42

N1 N2 C1 3 4

C2 0 3

Gini(N1) = 1 – (3/3)2 – (0/3)2 = 0

Gini(N2) = 1 – (4/7)2 – (3/7)2 = 0.489

Gini(Children) = 3/10 * 0 + 7/10 * 0.489= 0.342

Page 60: Classification: Basic Concepts and Decision Trees.

Tree Induction

• Greedy strategy.– Split the records based on an attribute test that

optimizes certain criterion.

• Issues– Determine how to split the records

• How to specify the attribute test condition?• How to determine the best split?

– Determine when to stop splitting

Page 61: Classification: Basic Concepts and Decision Trees.

Stopping Criteria for Tree Induction

• Stop expanding a node when all the records belong to the same class

• Stop expanding a node when all the records have similar attribute values

• Early termination (to be discussed later)

Page 62: Classification: Basic Concepts and Decision Trees.

Decision Tree Based Classification

• Advantages:– Inexpensive to construct– Extremely fast at classifying unknown records– Easy to interpret for small-sized trees– Accuracy is comparable to other classification

techniques for many simple data sets

Page 63: Classification: Basic Concepts and Decision Trees.

Example: C4.5

• Simple depth-first construction.• Uses Information Gain• Sorts Continuous Attributes at each node.• Needs entire data to fit in memory.• Unsuitable for Large Datasets.

– Needs out-of-core sorting.

• You can download the software from:http://www.cse.unsw.edu.au/~quinlan/c4.5r8.tar.gz

Page 64: Classification: Basic Concepts and Decision Trees.

Practical Issues of Classification

• Underfitting and Overfitting

• Missing Values

• Costs of Classification

Page 65: Classification: Basic Concepts and Decision Trees.

Underfitting and Overfitting (Example)

500 circular and 500 triangular data points.

Circular points:

0.5 sqrt(x12+x2

2) 1

Triangular points:

sqrt(x12+x2

2) > 0.5 or

sqrt(x12+x2

2) < 1

Page 66: Classification: Basic Concepts and Decision Trees.

Underfitting and Overfitting

Overfitting

Underfitting: when model is too simple, both training and test errors are large

Page 67: Classification: Basic Concepts and Decision Trees.

Overfitting due to Noise

Decision boundary is distorted by noise point

Page 68: Classification: Basic Concepts and Decision Trees.

Overfitting due to Insufficient Examples

Lack of data points in the lower half of the diagram makes it difficult to predict correctly the class labels of that region

- Insufficient number of training records in the region causes the decision tree to predict the test examples using other training records that are irrelevant to the classification task

Page 69: Classification: Basic Concepts and Decision Trees.

Notes on Overfitting

• Overfitting results in decision trees that are more complex than necessary

• Training error no longer provides a good estimate of how well the tree will perform on previously unseen records

• Need new ways for estimating errors

Page 70: Classification: Basic Concepts and Decision Trees.

Estimating Generalization Errors• Re-substitution errors: error on training ( e(t) )• Generalization errors: error on testing ( e’(t))• Methods for estimating generalization errors:

– Optimistic approach: e’(t) = e(t)– Pessimistic approach:

• For each leaf node: e’(t) = (e(t)+0.5) • Total errors: e’(T) = e(T) + N 0.5 (N: number of leaf nodes)• For a tree with 30 leaf nodes and 10 errors on training

(out of 1000 instances): Training error = 10/1000 = 1%

Generalization error = (10 + 300.5)/1000 = 2.5%– Reduced error pruning (REP):

• uses validation data set to estimate generalization error

Page 71: Classification: Basic Concepts and Decision Trees.

Occam’s Razor

• Given two models of similar generalization errors, one should prefer the simpler model over the more complex model

• For complex models, there is a greater chance that it was fitted accidentally by errors in data

• Therefore, one should include model complexity when evaluating a model

Page 72: Classification: Basic Concepts and Decision Trees.

Minimum Description Length (MDL)

• Cost(Model,Data) = Cost(Data|Model) + Cost(Model)– Cost is the number of bits needed for encoding.– Search for the least costly model.

• Cost(Data|Model) encodes the misclassification errors.• Cost(Model) uses node encoding (number of children) plus splitting

condition encoding.

A B

A?

B?

C?

10

0

1

Yes No

B1 B2

C1 C2

X yX1 1X2 0X3 0X4 1

… …Xn 1

X yX1 ?X2 ?X3 ?X4 ?

… …Xn ?

Page 73: Classification: Basic Concepts and Decision Trees.

How to Address Overfitting• Pre-Pruning (Early Stopping Rule)

– Stop the algorithm before it becomes a fully-grown tree– Typical stopping conditions for a node:

• Stop if all instances belong to the same class• Stop if all the attribute values are the same

– More restrictive conditions:• Stop if number of instances is less than some user-specified threshold• Stop if class distribution of instances are independent of the available features

(e.g., using 2 test)• Stop if expanding the current node does not improve impurity

measures (e.g., Gini or information gain).

Page 74: Classification: Basic Concepts and Decision Trees.

How to Address Overfitting…

• Post-pruning– Grow decision tree to its entirety– Trim the nodes of the decision tree in a bottom-up

fashion– If generalization error improves after trimming,

replace sub-tree by a leaf node.– Class label of leaf node is determined from

majority class of instances in the sub-tree– Can use MDL for post-pruning

Page 75: Classification: Basic Concepts and Decision Trees.

Example of Post-Pruning

A?

A1

A2 A3

A4

Class = Yes 20

Class = No 10

Error = 10/30

Training Error (Before splitting) = 10/30

Pessimistic error = (10 + 0.5)/30 = 10.5/30

Training Error (After splitting) = 9/30

Pessimistic error (After splitting)

= (9 + 4 0.5)/30 = 11/30

PRUNE!

Class = Yes

8

Class = No 4

Class = Yes

3

Class = No 4

Class = Yes

4

Class = No 1

Class = Yes

5

Class = No 1

Page 76: Classification: Basic Concepts and Decision Trees.

Examples of Post-pruning

– Optimistic error?

– Pessimistic error?

– Reduced error pruning?

C0: 11C1: 3

C0: 2C1: 4

C0: 14C1: 3

C0: 2C1: 2

Don’t prune for both cases

Don’t prune case 1, prune case 2

Case 1:

Case 2:

Depends on validation set

Page 77: Classification: Basic Concepts and Decision Trees.

Handling Missing Attribute Values

• Missing values affect decision tree construction in three different ways:– Affects how impurity measures are computed– Affects how to distribute instance with missing

value to child nodes– Affects how a test instance with missing value is

classified

Page 78: Classification: Basic Concepts and Decision Trees.

Computing Impurity MeasureTid Refund Marital

Status Taxable Income Class

1 Yes Single 125K No

2 No Married 100K No

3 No Single 70K No

4 Yes Married 120K No

5 No Divorced 95K Yes

6 No Married 60K No

7 Yes Divorced 220K No

8 No Single 85K Yes

9 No Married 75K No

10 ? Single 90K Yes 10

Class = Yes

Class = No

Refund=Yes 0 3

Refund=No 2 4

Refund=? 1 0

Split on Refund:

Entropy(Refund=Yes) = 0

Entropy(Refund=No) = -(2/6)log(2/6) – (4/6)log(4/6) = 0.9183

Entropy(Children) = 0.3 (0) + 0.6 (0.9183) = 0.551

Gain = 0.9 (0.8813 – 0.551) = 0.3303Missing value

Before Splitting: Entropy(Parent) = -0.3 log(0.3)-(0.7)log(0.7) = 0.8813

Page 79: Classification: Basic Concepts and Decision Trees.

Distribute Instances

Class=Yes 0 + 3/ 9

Class=No 3

Tid Refund Marital Status

Taxable Income Class

1 Yes Single 125K No

2 No Married 100K No

3 No Single 70K No

4 Yes Married 120K No

5 No Divorced 95K Yes

6 No Married 60K No

7 Yes Divorced 220K No

8 No Single 85K Yes

9 No Married 75K No 10

RefundYes No

Class=Yes 0

Class=No 3

Cheat=Yes 2

Cheat=No 4

RefundYes

Tid Refund Marital Status

Taxable Income Class

10 ? Single 90K Yes 10

No

Class=Yes 2 + 6/ 9

Class=No 4

Probability that Refund=Yes is 3/9

Probability that Refund=No is 6/9

Assign record to the left child with weight = 3/9 and to the right child with weight = 6/9

Page 80: Classification: Basic Concepts and Decision Trees.

Classify Instances

Refund

MarSt

TaxInc

YESNO

NO

NO

Yes No

Married Single,

Divorced

< 80K > 80K

Married Single Divorced

Total

Class=No 3 1 0 4

Class=Yes 6/9 1 1 2.67

Total 3.67 2 1 6.67

Tid Refund Marital Status

Taxable Income Class

11 No ? 85K ? 10

New record:

Probability that Marital Status = Married is 3.67/6.67

Probability that Marital Status ={Single,Divorced} is 3/6.67

Page 81: Classification: Basic Concepts and Decision Trees.

Scalable Decision Tree Induction Methods

• SLIQ (EDBT’96 — Mehta et al.)– Builds an index for each attribute and only class list and the current

attribute list reside in memory

• SPRINT (VLDB’96 — J. Shafer et al.)– Constructs an attribute list data structure

• PUBLIC (VLDB’98 — Rastogi & Shim)– Integrates tree splitting and tree pruning: stop growing the tree earlier

• RainForest (VLDB’98 — Gehrke, Ramakrishnan & Ganti)– Builds an AVC-list (attribute, value, class label)

• BOAT (PODS’99 — Gehrke, Ganti, Ramakrishnan & Loh)– Uses bootstrapping to create several small samples

Page 82: Classification: Basic Concepts and Decision Trees.

Postscript: learning models

Training data

Classifier f

LearningAlgorithm

Batch learning On-line learning

See a new point x

predict label

test

See y

Updateclassifer

Page 83: Classification: Basic Concepts and Decision Trees.
Page 84: Classification: Basic Concepts and Decision Trees.
Page 85: Classification: Basic Concepts and Decision Trees.

Preprocessing step

Page 86: Classification: Basic Concepts and Decision Trees.
Page 87: Classification: Basic Concepts and Decision Trees.
Page 88: Classification: Basic Concepts and Decision Trees.
Page 89: Classification: Basic Concepts and Decision Trees.
Page 90: Classification: Basic Concepts and Decision Trees.
Page 91: Classification: Basic Concepts and Decision Trees.
Page 92: Classification: Basic Concepts and Decision Trees.
Page 93: Classification: Basic Concepts and Decision Trees.
Page 94: Classification: Basic Concepts and Decision Trees.
Page 95: Classification: Basic Concepts and Decision Trees.
Page 96: Classification: Basic Concepts and Decision Trees.
Page 97: Classification: Basic Concepts and Decision Trees.
Page 98: Classification: Basic Concepts and Decision Trees.
Page 99: Classification: Basic Concepts and Decision Trees.
Page 100: Classification: Basic Concepts and Decision Trees.
Page 101: Classification: Basic Concepts and Decision Trees.
Page 102: Classification: Basic Concepts and Decision Trees.
Page 103: Classification: Basic Concepts and Decision Trees.
Page 104: Classification: Basic Concepts and Decision Trees.
Page 105: Classification: Basic Concepts and Decision Trees.

Generative and Discriminative Classifiers

Page 106: Classification: Basic Concepts and Decision Trees.

Generative vs. Discriminative Classifiers

Training classifiers involves estimating f: X Y, or P(Y|X)

Discriminative classifiers (also called ‘informative’ by Rubinstein&Hastie):

1. Assume some functional form for P(Y|X)

2. Estimate parameters of P(Y|X) directly from training data

Generative classifiers

3. Assume some functional form for P(X|Y), P(X)

4. Estimate parameters of P(X|Y), P(X) directly from training data

5. Use Bayes rule to calculate P(Y|X= xi)

Page 107: Classification: Basic Concepts and Decision Trees.

Bayes Formula

Page 108: Classification: Basic Concepts and Decision Trees.

Generative Model

• Color• Size• Texture• Weight• …

Page 109: Classification: Basic Concepts and Decision Trees.

Discriminative Model

• Logistic Regression

• Color• Size• Texture• Weight• …

Page 110: Classification: Basic Concepts and Decision Trees.

Comparison

• Generative models– Assume some functional form for P(X|Y), P(Y)– Estimate parameters of P(X|Y), P(Y) directly from

training data– Use Bayes rule to calculate P(Y|X= x)

• Discriminative models– Directly assume some functional form for P(Y|X)– Estimate parameters of P(Y|X) directly from

training data

Page 111: Classification: Basic Concepts and Decision Trees.

Probability Basics

111

• Prior, conditional and joint probability for random variables– Prior probability:

– Conditional probability: – Joint probability: – Relationship:– Independence:

• Bayesian Rule

)| ,)( 121 XP(XX|XP 2

)()()(

)(X

XX

PCPC|P

|CP

)(XP

) )( ),,( 22 ,XP(XPXX 11 XX

)()|()()|() 2211122 XPXXPXPXXP,XP(X1

)()() ),()|( ),()|( 212121212 XPXP,XP(XXPXXPXPXXP 1

EvidencePriorLikelihood

Posterior

Page 112: Classification: Basic Concepts and Decision Trees.

Probability Basics

112

• Quiz: We have two six-sided dice. When they are tolled, it could end up with the following occurance: (A) dice 1 lands on side “3”, (B) dice 2 lands on side “1”, and (C) Two dice sum to eight. Answer the following questions:

? equals ),( Is 8)

?),( 7)

?),( 6)

?)|( 5)

?)|( 4)

? 3)

? 2)

? )( )1

P(C)P(A)CAP

CAP

BAP

ACP

BAP

P(C)

P(B)

AP

Page 113: Classification: Basic Concepts and Decision Trees.

Probabilistic Classification

113

• Establishing a probabilistic model for classification– Discriminative model

),, , )( 1 n1L X(Xc,,cC|CP XX

),,,( 21 nxxx x

Discriminative Probabilistic Classifier

1x 2x nx

)|( 1 xcP )|( 2 xcP )|( xLcP

Page 114: Classification: Basic Concepts and Decision Trees.

Probabilistic Classification

114

• Establishing a probabilistic model for classification (cont.)– Generative model

),, , )( 1 n1L X(Xc,,cCC|P XX

GenerativeProbabilistic Model

for Class 1

)|( 1cP x

1x 2x nx

GenerativeProbabilistic Model

for Class 2

)|( 2cP x

1x 2x nx

GenerativeProbabilistic Model

for Class L

)|( LcP x

1x 2x nx

),,,( 21 nxxx x

Page 115: Classification: Basic Concepts and Decision Trees.

Probabilistic Classification

115

• MAP classification rule– MAP: Maximum A Posterior– Assign x to c* if

• Generative classification with the MAP rule– Apply Bayesian rule to convert them into posterior

probabilities

– Then apply the MAP rule

Lc,,cccc|cCP|cCP 1** , )( )( xXxX

Li

cCPcC|P

PcCPcC|P

|cCP

ii

iii

,,2,1 for

)()(

)()()(

)(

xX

xXxX

xX

Page 116: Classification: Basic Concepts and Decision Trees.

Naïve Bayes

116

• Bayes classification

Difficulty: learning the joint probability

• Naïve Bayes classification– Assumption that all input attributes are conditionally

independent!

– MAP classification rule: for

)()|,,()()( )( 1 CPCXXPCPC|P|CP n XX

)|,,( 1 CXXP n

)|()|()|(

)|,,()|(

)|,,();,,|()|,,,(

21

21

22121

CXPCXPCXP

CXXPCXP

CXXPCXXXPCXXXP

n

n

nnn

Lnn ccccccPcxPcxPcPcxPcxP ,, , ),()]|()|([)()]|()|([ 1*

1***

1

),,,( 21 nxxx x

Page 117: Classification: Basic Concepts and Decision Trees.

Naïve Bayes

117

• Naïve Bayes Algorithm (for discrete input attributes)– Learning Phase: Given a training set S,

Output: conditional probability tables; for

elements

– Test Phase: Given an unknown instance ,

Look up tables to assign the label c* to X’ if

; in examples with)|( estimate)|(̂

),1 ;,,1( attribute each of value attribute every For

; in examples with)( estimate)(̂

of value target each For 1

S

S

ijkjijkj

jjjk

ii

Lii

cCxXPcCxXP

N,knj Xx

cCPcCP

)c,,c(c c

Lnn ccccccPcaPcaPcPcaPcaP ,, , ),(̂)]|(̂)|(̂[)(̂)]|(̂)|(̂[ 1*

1***

1

),,( 1 naa X

LNX jj ,

Page 118: Classification: Basic Concepts and Decision Trees.

Example

118

• Example: Play Tennis

Page 119: Classification: Basic Concepts and Decision Trees.

Example

119

• Learning Phase

Outlook Play=Yes

Play=No

Sunny 2/9 3/5Overcast 4/9 0/5

Rain 3/9 2/5

Temperature

Play=Yes Play=No

Hot 2/9 2/5Mild 4/9 2/5Cool 3/9 1/5

Humidity Play=Yes

Play=No

High 3/9 4/5Normal 6/9 1/5

Wind Play=Yes

Play=No

Strong 3/9 3/5Weak 6/9 2/5

P(Play=Yes) = 9/14P(Play=No) = 5/14

Page 120: Classification: Basic Concepts and Decision Trees.

Example

120

• Test Phase– Given a new instance, x’=(Outlook=Sunny, Temperature=Cool, Humidity=High,

Wind=Strong)– Look up tables

– MAP rule

P(Outlook=Sunny|Play=No) = 3/5

P(Temperature=Cool|Play==No) = 1/5

P(Huminity=High|Play=No) = 4/5

P(Wind=Strong|Play=No) = 3/5

P(Play=No) = 5/14

P(Outlook=Sunny|Play=Yes) = 2/9

P(Temperature=Cool|Play=Yes) = 3/9

P(Huminity=High|Play=Yes) = 3/9

P(Wind=Strong|Play=Yes) = 3/9

P(Play=Yes) = 9/14

P(Yes|x’): [P(Sunny|Yes)P(Cool|Yes)P(High|Yes)P(Strong|

Yes)]P(Play=Yes) = 0.0053 P(No|x’): [P(Sunny|No) P(Cool|No)P(High|No)P(Strong|No)]P(Play=No) = 0.0206

Given the fact P(Yes|x’) < P(No|x’), we label x’ to be

“No”.

Page 121: Classification: Basic Concepts and Decision Trees.

Example

121

• Test Phase– Given a new instance, x’=(Outlook=Sunny, Temperature=Cool, Humidity=High,

Wind=Strong)– Look up tables

– MAP rule

P(Outlook=Sunny|Play=No) = 3/5

P(Temperature=Cool|Play==No) = 1/5

P(Huminity=High|Play=No) = 4/5

P(Wind=Strong|Play=No) = 3/5

P(Play=No) = 5/14

P(Outlook=Sunny|Play=Yes) = 2/9

P(Temperature=Cool|Play=Yes) = 3/9

P(Huminity=High|Play=Yes) = 3/9

P(Wind=Strong|Play=Yes) = 3/9

P(Play=Yes) = 9/14

P(Yes|x’): [P(Sunny|Yes)P(Cool|Yes)P(High|Yes)P(Strong|

Yes)]P(Play=Yes) = 0.0053 P(No|x’): [P(Sunny|No) P(Cool|No)P(High|No)P(Strong|No)]P(Play=No) = 0.0206

Given the fact P(Yes|x’) < P(No|x’), we label x’ to be

“No”.

Page 122: Classification: Basic Concepts and Decision Trees.

Relevant Issues

122

• Violation of Independence Assumption– For many real world tasks,

– Nevertheless, naïve Bayes works surprisingly well anyway!

• Zero conditional probability Problem– If no example contains the attribute value

– In this circumstance, during test

– For a remedy, conditional probabilities estimated with

)|()|( )|,,( 11 CXPCXPCXXP nn

0)|(̂ , ijkjjkj cCaXPaX

0)|(̂)|(̂)|(̂ 1 inijki cxPcaPcxP

)1 examples, virtual"" of (number prior to weight:

) of values possible for /1 (usually, estimate prior :

whichfor examples training of number :

C and whichfor examples training of number :

)|(̂

mm

Xttpp

cCn

caXnmnmpn

cCaXP

j

i

ijkjc

cijkj

Page 123: Classification: Basic Concepts and Decision Trees.

Relevant Issues

123

• Continuous-valued Input Attributes– Numberless values for an attribute

– Conditional probability modeled with the normal distribution

– Learning Phase: Output: normal distributions and – Test Phase:

• Calculate conditional probabilities with all the normal distributions

• Apply the MAP rule to make a decision

ijji

ijji

ji

jij

jiij

cC

cX

XcCXP

whichfor examples of X values attribute of deviation standard :

C whichfor examples of values attribute of (avearage) mean :

2

)(exp

2

1)|(̂ 2

2

Ln ccCXX ,, ),,,( for 11 XLn

),,( for 1 nXX X

LicCP i ,,1 )(

Page 124: Classification: Basic Concepts and Decision Trees.

Conclusions• Naïve Bayes based on the independence assumption

– Training is very easy and fast; just requiring considering each attribute in each class separately

– Test is straightforward; just looking up tables or calculating conditional probabilities with normal distributions

• A popular generative model– Performance competitive to most of state-of-the-art classifiers even

in presence of violating independence assumption– Many successful applications, e.g., spam mail filtering– A good candidate of a base learner in ensemble learning– Apart from classification, naïve Bayes can do more…

124


Recommended