Presentation is loading. Please wait.

Presentation is loading. Please wait.

© Vipin Kumar CSci 8980 Fall 2002 1 CSci 8980: Data Mining (Fall 2002) Vipin Kumar Army High Performance Computing Research Center Department of Computer.

Similar presentations


Presentation on theme: "© Vipin Kumar CSci 8980 Fall 2002 1 CSci 8980: Data Mining (Fall 2002) Vipin Kumar Army High Performance Computing Research Center Department of Computer."— Presentation transcript:

1 © Vipin Kumar CSci 8980 Fall 2002 1 CSci 8980: Data Mining (Fall 2002) Vipin Kumar Army High Performance Computing Research Center Department of Computer Science University of Minnesota http://www.cs.umn.edu/~kumar

2 © Vipin Kumar CSci 8980 Fall 2002 2 Estimating Generalization Errors l Re-substitution errors: error on training (  e(t) ) l Generalization errors: error on testing (  e’(t)) l Method 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/2 (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 + 30  0.5)/1000 = 2.5% –Reduced error pruning (REP):  uses validation data set to estimate generalization error.

3 © Vipin Kumar CSci 8980 Fall 2002 3 Occam’s Razor l Given two models of similar generalization errors, one should prefer the simpler model over the more complex model l For complex models, there is a greater chance that it was fitted accidentally by the data l Therefore, one should include model complexity when evaluating a model

4 © Vipin Kumar CSci 8980 Fall 2002 4 MDL Based Tree Pruning l Cost(Model,Data) = Cost(Data|Model) + Cost(Model) –Cost is the number of bits needed for encoding. –Search for the least costly model. l Cost(Data|Model) encodes the misclassification errors. l Cost(Model) uses node encoding (number of children) plus splitting condition encoding.

5 © Vipin Kumar CSci 8980 Fall 2002 5 How to Address Overfitting… l 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).

6 © Vipin Kumar CSci 8980 Fall 2002 6 How to Address Overfitting… l 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

7 © Vipin Kumar CSci 8980 Fall 2002 7 Example of Pruning Class = Yes20 Class = No10 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 = Yes8 Class = No4 Class = Yes3 Class = No4 Class = Yes4 Class = No1 Class = Yes5 Class = No1

8 © Vipin Kumar CSci 8980 Fall 2002 8 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

9 © Vipin Kumar CSci 8980 Fall 2002 9 Computing Impurity Measure (C4.5): 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 Before Splitting: Entropy(Parent) = -0.3 log(0.3)-(0.7)log(0.7) = 0.8813

10 © Vipin Kumar CSci 8980 Fall 2002 10 Distribute Instances (C4.5) Refund YesNo Refund YesNo Probability that Refund=Yes is 3/9 Probability that Refund=No is 6/9 Assign record to the left leaf with weight = 3/9 and to the right leaf with weight = 6/9

11 © Vipin Kumar CSci 8980 Fall 2002 11 Classify Instances (C4.5) Refund MarSt TaxInc YES NO Yes No Married Single, Divorced < 80K> 80K MarriedSingleDivorcedTotal Cheat=No3104 Cheat=Yes2/3112.67 Total3.67216.67 New record: Probability that Marital Status = Married is 3.67/6.67 Probability that Marital Status ={Single,Divorced} is 3/6.67

12 © Vipin Kumar CSci 8980 Fall 2002 12 Other Issues l Data Fragmentation –Number of instances get smaller as you traverse down the tree –Number of instances at the leaf nodes could be too small to make any statistically significant decision l Difficult to interpret large-sized trees –Tree could be large because of using a single attribute in the test condition –Oblique decision trees l Tree Replication –Subtree may appear at different parts of a decision tree –Constructive induction: create new attributes by combining existing attributes

13 © Vipin Kumar CSci 8980 Fall 2002 13 Oblique Decision Trees

14 © Vipin Kumar CSci 8980 Fall 2002 14 Tree Replication

15 © Vipin Kumar CSci 8980 Fall 2002 15 Rule-Based Classifiers l Classify instances by using a collection of “if…then…” rules l Rule: (Condition)  y –where Condition is a conjunctions of attributes and y is the class label –LHS: rule antecedent or condition –RHS: rule consequent –Examples of classification rules:  (Blood Type=Warm)  (Lay Eggs=Yes)  Birds  (Taxable Income < 50K)  (Refund=Yes)  Cheat=No

16 © Vipin Kumar CSci 8980 Fall 2002 16 Classifying Instances with Rules l A rule r covers an instance x if the attributes of the instance satisfy the condition of the rule Rule: r: (Age < 35)  (Status = Married)  Cheat=No Instances: x1: (Age=29, Status=Married, Refund=No) x2: (Age=28, Status=Single, Refund=Yes) x3: (Age=38, Status=Divorced, Refund=No) => Only x1 is covered by the rule r

17 © Vipin Kumar CSci 8980 Fall 2002 17 From Decision Trees To Rules Rules are mutually exclusive and exhaustive Rule set contains as much information as the tree

18 © Vipin Kumar CSci 8980 Fall 2002 18 Rules Can Be Simplified Initial Rule: (Refund=No)  (Status=Married)  No Simplified Rule: (Status=Married)  No

19 © Vipin Kumar CSci 8980 Fall 2002 19 After Rule Simplification… l Rules no longer mutually exclusive –More than one rule may cover the same instance –Solution?  Order the rules  Use voting schemes l Rules no longer exhaustive –May need a default class

20 © Vipin Kumar CSci 8980 Fall 2002 20 Advantages of Rule-Based Classifiers l As highly expressive as decision trees l Easy to interpret l Easy to generate l Can classify new instances rapidly l Performance comparable to decision trees

21 © Vipin Kumar CSci 8980 Fall 2002 21 Building Classification Rules l Generate an initial set of rules: –Direct Method:  Extract rules directly from data  e.g.: RIPPER, CN2, Holte’s 1R –Indirect Method:  Extract rules from other classification models (e.g. decision trees).  e.g: C4.5rules l Rules are pruned and simplified l Rules can be ordered to obtain a rule set R l Rule set R can be further optimized

22 © Vipin Kumar CSci 8980 Fall 2002 22 Basic Definitions l Coverage of a rule: –Fraction of instances that satisfy the antecedent of a rule l Accuracy of a rule: –Fraction of instances that satisfy both the antecedent and consequent of a rule (Status=Single)  No Coverage = 40%, Accuracy = 50%

23 © Vipin Kumar CSci 8980 Fall 2002 23 Direct Method: Sequential Covering 1. Start from an empty rule 2. Find the conjunct (test condition on attribute) that optimizes certain objective criterion (e.g., entropy or Gini) 3. Remove instances covered by the conjunct 4. Repeat Step (2) and (3) until stopping criterion is met e.g., stop when all instances belong to same class or all attributes have same values.

24 © Vipin Kumar CSci 8980 Fall 2002 24 Direct Method: Sequential Covering… l Use a general-to-specific search strategy l Greedy approach l Unlike decision tree (which uses simultaneous covering), it does not explore all possible paths –Search only the current best path –Beam search: maintain k of the best paths l At each step, –decision tree chooses among several alternative attributes for splitting –Sequential covering chooses among alternative attribute-value pairs

25 © Vipin Kumar CSci 8980 Fall 2002 25 Direct Method: RIPPER l For 2-class problem, choose one of the classes as positive class, and the other as negative class –Learn rules for positive class –Negative class will be default class l For multi-class problem –Order the classes according to increasing class prevalence (fraction of instances that belong to a particular class) –Learn the rule set for smallest class first, treat the rest as negative class –Repeat with next smallest class as positive class

26 © Vipin Kumar CSci 8980 Fall 2002 26 Direct Method: RIPPER l Growing a rule: –Start from empty rule –Add conjuncts as long as they improve information gain –Stop when rule no longer covers negative examples –Prune the rule immediately using incremental reduced error pruning –Measure for pruning: v = (p-n)/(p+n)  p: number of positive examples covered by the rule in the validation set  n: number of negative examples covered by the rule in the validation set –Pruning method: delete any final sequence of conditions that maximizes v

27 © Vipin Kumar CSci 8980 Fall 2002 27 Direct Method: RIPPER l Building a Rule Set: –Use sequential covering algorithm  finds the best rule that covers the current set of positive examples  eliminate both positive and negative examples covered by the rule –Each time a rule is added to the rule set, compute the description length  stop adding new rules when the new description length is d bits longer than the smallest description length obtained so far

28 © Vipin Kumar CSci 8980 Fall 2002 28 Direct Method: RIPPER l Optimize the rule set: –For each rule r in the rule set R  Consider 2 alternative rules: –Replacement rule (r*): grow new rule from scratch –Revised rule(r’): add conjuncts to extend the rule r  Compare the rule set for r against the rule set for r* and r’  Choose rule set that minimizes MDL principle –Repeat rule generation and rule optimization for the remaining positive examples

29 © Vipin Kumar CSci 8980 Fall 2002 29 Indirect Method: C4.5rules l Extract rules from an unpruned decision tree l For each rule, r: A  y, –consider an alternative rule r’: A’  y where A’ is obtained by removing one of the conjuncts in A –Compare the pessimistic error rate for r against all r’s –Prune if one of the r’s has lower pessimistic error rate –Repeat until we can no longer improve generalization error

30 © Vipin Kumar CSci 8980 Fall 2002 30 Indirect Method: C4.5rules l Instead of ordering the rules, order the subsets of rules –Each subset is a collection of rules with the same rule consequent (class) –Compute description length of each subset  Description length = L(error) + g L(model)  g is a parameter to take into account the presence of redundant attributes in a model (default = 0.5)

31 © Vipin Kumar CSci 8980 Fall 2002 31 Example

32 © Vipin Kumar CSci 8980 Fall 2002 32 C4.5 versus C4.5rules C4.5rules: (Give Birth=No, Can Fly=Yes)  Birds (Give Birth=No, Live in Water=Yes)  Fishes (Give Birth=Yes)  Mammals (Give Birth=No, Can Fly=No, Live in Water=No)  Reptiles ( )  Amphibians RIPPER: (Live in Water=Yes)  Fishes (Have Legs=No)  Reptiles (Give Birth=No, Can Fly=No, Live In Water=No)  Reptiles (Can Fly=Yes,Give Birth=No)  Birds ()  Mammals


Download ppt "© Vipin Kumar CSci 8980 Fall 2002 1 CSci 8980: Data Mining (Fall 2002) Vipin Kumar Army High Performance Computing Research Center Department of Computer."

Similar presentations


Ads by Google