Presentation is loading. Please wait.

Presentation is loading. Please wait.

Data Mining Classification: Basic Concepts, Decision Trees, and Model Evaluation Lecture Notes for Chapter 4 Introduction to Data Mining by Tan, Steinbach,

Similar presentations


Presentation on theme: "Data Mining Classification: Basic Concepts, Decision Trees, and Model Evaluation Lecture Notes for Chapter 4 Introduction to Data Mining by Tan, Steinbach,"— Presentation transcript:

1 Data Mining Classification: Basic Concepts, Decision Trees, and Model Evaluation Lecture Notes for Chapter 4 Introduction to Data Mining by Tan, Steinbach, Kumar © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 1

2 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 2 Classification: Definition l Given a collection of records (training set ) –Each record contains a set of attributes, one of the attributes is the class. l Find a model for class attribute as a function of the values of other attributes. l 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.

3 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 3 Illustrating Classification Task

4 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 4 Examples of Classification Task l Predicting tumor cells as benign or malignant l Classifying credit card transactions as legitimate or fraudulent l Categorizing news stories as finance, weather, entertainment, sports, etc

5 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 5 Classification Techniques l Decision Tree based Methods l Neural Networks l Naïve Bayes and Bayesian Belief Networks l Support Vector Machines

6 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 6 Example of a Decision Tree categorical continuous class Refund MarSt TaxInc YES NO YesNo Married Single, Divorced < 80K> 80K Splitting Attributes Training Data Model: Decision Tree

7 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 7 Another Example of Decision Tree categorical continuous class MarSt Refund TaxInc YES NO Yes No Married Single, Divorced < 80K> 80K There could be more than one tree that fits the same data!

8 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 8 Decision Tree Classification Task Decision Tree

9 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 9 Apply Model to Test Data Refund MarSt TaxInc YES NO YesNo Married Single, Divorced < 80K> 80K Test Data Start from the root of tree.

10 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 10 Apply Model to Test Data Refund MarSt TaxInc YES NO YesNo Married Single, Divorced < 80K> 80K Test Data

11 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 11 Apply Model to Test Data Refund MarSt TaxInc YES NO YesNo Married Single, Divorced < 80K> 80K Test Data

12 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 12 Apply Model to Test Data Refund MarSt TaxInc YES NO YesNo Married Single, Divorced < 80K> 80K Test Data

13 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 13 Apply Model to Test Data Refund MarSt TaxInc YES NO YesNo Married Single, Divorced < 80K> 80K Test Data

14 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 14 Apply Model to Test Data Refund MarSt TaxInc YES NO YesNo Married Single, Divorced < 80K> 80K Test Data Assign Cheat to “No”

15 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 15 Decision Tree Classification Task Decision Tree

16 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 16 Decision Tree Induction l Many Algorithms: –Hunt’s Algorithm (one of the earliest) –CART –ID3, C4.5 –SLIQ,SPRINT

17 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 17 General Structure of Hunt’s Algorithm l Let D t be the set of training records that reach a node t l General Procedure: –If D t contains records that belong the same class y t, then t is a leaf node labeled as y t –If D t is an empty set, then t is a leaf node labeled by the default class, y d –If D t 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. DtDt ?

18 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 18 Hunt’s Algorithm Don’t Cheat Refund Don’t Cheat Don’t Cheat YesNo Refund Don’t Cheat YesNo Marital Status Don’t Cheat Single, Divorced Married Taxable Income Don’t Cheat < 80K>= 80K Refund Don’t Cheat YesNo Marital Status Don’t Cheat Single, Divorced Married

19 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 19 Splitting Based on Nominal Attributes l Multi-way split: Use as many partitions as distinct values. l Binary split: Divides values into two subsets. Need to find optimal partitioning. CarType Family Sports Luxury CarType {Family, Luxury} {Sports} CarType {Sports, Luxury} {Family} OR

20 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 20 l Multi-way split: Use as many partitions as distinct values. l Binary split: Divides values into two subsets. Need to find optimal partitioning. l What about this split? Splitting Based on Ordinal Attributes Size Small Medium Large Size {Medium, Large} {Small} Size {Small, Medium} {Large} OR Size {Small, Large} {Medium}

21 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 21 Splitting Based on Continuous Attributes l 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

22 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 22 Splitting Based on Continuous Attributes

23 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 23 How to determine the Best Split Before Splitting: 10 records of class 0, 10 records of class 1 Which test condition is the best?

24 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 24 How to determine the Best Split l Greedy approach: –Nodes with homogeneous class distribution are preferred l Need a measure of node impurity: Non-homogeneous, High degree of impurity Homogeneous, Low degree of impurity

25 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 25 Measures of Node Impurity l Gini Index l Entropy l Misclassification error

26 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 26 Measure of Impurity: GINI l Gini Index for a given node t : (NOTE: p( j | t) is the relative frequency of class j at node t). –Maximum (1 - 1/n c ) 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

27 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 27 Examples for computing GINI P(C1) = 0/6 = 0 P(C2) = 6/6 = 1 Gini = 1 – P(C1) 2 – P(C2) 2 = 1 – 0 – 1 = 0 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

28 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 28 Splitting Based on GINI l Used in CART, SLIQ, SPRINT. l When a node p is split into k partitions (children), the quality of split is computed as, where,n i = number of records at child i, n = number of records at node p.

29 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 29 Binary Attributes: Computing GINI Index l Splits into two partitions l Effect of Weighing partitions: –Larger and Purer Partitions are sought for. B? YesNo Node N1Node N2 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

30 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 30 Categorical Attributes: Computing Gini Index l For each distinct value, gather counts for each class in the dataset l Use the count matrix to make decisions Multi-way splitTwo-way split (find best partition of values)

31 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 31 Alternative Splitting Criteria based on INFO l 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 n c ) 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

32 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 32 Examples for computing Entropy 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) log 2 (1/6) – (5/6) log 2 (1/6) = 0.65 P(C1) = 2/6 P(C2) = 4/6 Entropy = – (2/6) log 2 (2/6) – (4/6) log 2 (4/6) = 0.92

33 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 33 Splitting Based on INFO... l Information Gain: Parent Node, p is split into k partitions; n i 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.

34 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 34 Splitting Criteria based on Classification Error l Classification error at a node t : l Measures misclassification error made by a node.  Maximum (1 - 1/n c ) 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

35 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 35 Examples for Computing Error 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

36 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 36 Comparison among Splitting Criteria For a 2-class problem:

37 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 37 Stopping Criteria for Tree Induction l Stop expanding a node when all the records belong to the same class l Stop expanding a node when all the records have similar attribute values l Early termination (to be discussed later)

38 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 38 Decision Tree Based Classification l 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

39 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 39 Example: C4.5 l Uses Information Gain l Sorts Continuous Attributes at each node. l Needs entire data to fit in memory. l Unsuitable for Large Datasets. –Needs out-of-core sorting. l You can download the software from: http://www.cse.unsw.edu.au/~quinlan/c4.5r8.tar.gz http://www.cse.unsw.edu.au/~quinlan/c4.5r8.tar.gz

40 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 40 Practical Issues of Classification l Missing Values l Costs of Classification

41 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 41 Handling Missing Attribute Values l 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

42 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 42 Computing Impurity Measure 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.3303 Missing value

43 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 43 Model Evaluation l Metrics for Performance Evaluation –How to evaluate the performance of a model? l Methods for Performance Evaluation –How to obtain reliable estimates? l Methods for Model Comparison –How to compare the relative performance among competing models?

44 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 44 Model Evaluation l Metrics for Performance Evaluation –How to evaluate the performance of a model? l Methods for Performance Evaluation –How to obtain reliable estimates? l Methods for Model Comparison –How to compare the relative performance among competing models?

45 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 45 Metrics for Performance Evaluation l Focus on the predictive capability of a model –Rather than how fast it takes to classify or build models, scalability, etc. l Confusion Matrix: PREDICTED CLASS ACTUAL CLASS Class=YesClass=No Class=Yesab Class=Nocd a: TP (true positive) b: FN (false negative) c: FP (false positive) d: TN (true negative)

46 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 46 Metrics for Performance Evaluation… l Most widely-used metric: PREDICTED CLASS ACTUAL CLASS Class=YesClass=No Class=Yesa (TP) b (FN) Class=Noc (FP) d (TN)

47 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 47 Limitation of Accuracy l Consider a 2-class problem –Number of Class 0 examples = 9990 –Number of Class 1 examples = 10 l If model predicts everything to be class 0, accuracy is 9990/10000 = 99.9 % –Accuracy is misleading because model does not detect any class 1 example

48 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 48 Other Measures l Precision is biased towards C(Yes|Yes) & C(Yes|No) l Recall is biased towards C(Yes|Yes) & C(No|Yes) l F-measure is biased towards all except C(No|No)

49 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 49 Model Evaluation l Metrics for Performance Evaluation –How to evaluate the performance of a model? l Methods for Performance Evaluation –How to obtain reliable estimates? l Methods for Model Comparison –How to compare the relative performance among competing models?

50 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 50 Methods for Performance Evaluation l How to obtain a reliable estimate of performance? l Performance of a model may depend on other factors besides the learning algorithm: –Class distribution –Cost of misclassification –Size of training and test sets

51 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 51 Learning Curve l Learning curve shows how accuracy changes with varying sample size l Requires a sampling schedule for creating learning curve: l Arithmetic sampling (Langley, et al) l Geometric sampling (Provost et al) Effect of small sample size: - Bias in the estimate - Variance of estimate

52 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 52 Methods of Estimation l Holdout –Reserve 2/3 for training and 1/3 for testing l Random subsampling –Repeated holdout l Cross validation –Partition data into k disjoint subsets –k-fold: train on k-1 partitions, test on the remaining one –Leave-one-out: k=n l Stratified sampling –oversampling vs undersampling l Bootstrap –Sampling with replacement

53 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 53 Model Evaluation l Metrics for Performance Evaluation –How to evaluate the performance of a model? l Methods for Performance Evaluation –How to obtain reliable estimates? l Methods for Model Comparison –How to compare the relative performance among competing models?

54 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 54 ROC (Receiver Operating Characteristic) l Developed in 1950s for signal detection theory to analyze noisy signals –Characterize the trade-off between positive hits and false alarms l ROC curve plots TP (on the y-axis) against FP (on the x-axis) l Performance of each classifier represented as a point on the ROC curve –changing the threshold of algorithm, sample distribution or cost matrix changes the location of the point

55 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 55 ROC Curve At threshold t: TP=0.5, FN=0.5, FP=0.12, FN=0.88 - 1-dimensional data set containing 2 classes (positive and negative) - any points located at x > t is classified as positive

56 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 56 Using ROC for Model Comparison l No model consistently outperform the other l M 1 is better for small FPR l M 2 is better for large FPR l Area Under the ROC curve l Ideal:  Area = 1 l Random guess:  Area = 0.5


Download ppt "Data Mining Classification: Basic Concepts, Decision Trees, and Model Evaluation Lecture Notes for Chapter 4 Introduction to Data Mining by Tan, Steinbach,"

Similar presentations


Ads by Google