Classification and regression trees

Similar documents
Introduction. Decision Tree Learning. Outline. Decision Tree 9/7/2017. Decision Tree Definition

Learning Classification Trees. Sargur Srihari

Learning Decision Trees

Decision Tree Learning Mitchell, Chapter 3. CptS 570 Machine Learning School of EECS Washington State University

Decision Tree Learning and Inductive Inference

CS 6375 Machine Learning

Classification Using Decision Trees

Rule Generation using Decision Trees

Learning Decision Trees

the tree till a class assignment is reached

Machine Learning 2nd Edi7on

Decision Tree Learning

Lecture 3: Decision Trees

Lecture 3: Decision Trees

Dan Roth 461C, 3401 Walnut

Decision Tree Learning - ID3

Introduction to ML. Two examples of Learners: Naïve Bayesian Classifiers Decision Trees

Decision Tree Learning

Decision Trees.

Imagine we ve got a set of data containing several types, or classes. E.g. information about customers, and class=whether or not they buy anything.

CS6375: Machine Learning Gautam Kunapuli. Decision Trees

Supervised Learning! Algorithm Implementations! Inferring Rudimentary Rules and Decision Trees!

Typical Supervised Learning Problem Setting

Decision Trees.

Classification and Prediction

Machine Learning Recitation 8 Oct 21, Oznur Tastan

Question of the Day. Machine Learning 2D1431. Decision Tree for PlayTennis. Outline. Lecture 4: Decision Tree Learning

DECISION TREE LEARNING. [read Chapter 3] [recommended exercises 3.1, 3.4]

Machine Learning & Data Mining

Decision Trees / NLP Introduction

Decision Trees. Gavin Brown

Artificial Intelligence. Topic

Decision Tree Analysis for Classification Problems. Entscheidungsunterstützungssysteme SS 18

M chi h n i e n L e L arni n n i g Decision Trees Mac a h c i h n i e n e L e L a e r a ni n ng

Decision Trees. Tirgul 5

Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. Intelligent Data Analysis. Decision Trees

Decision Trees Part 1. Rao Vemuri University of California, Davis

Classification: Decision Trees

Chapter 3: Decision Tree Learning

Decision-Tree Learning. Chapter 3: Decision Tree Learning. Classification Learning. Decision Tree for PlayTennis

EECS 349:Machine Learning Bryan Pardo

Decision trees. Special Course in Computer and Information Science II. Adam Gyenge Helsinki University of Technology

ARTIFICIAL INTELLIGENCE. Supervised learning: classification

Decision Tree Learning

Decision Tree Learning

Administration. Chapter 3: Decision Tree Learning (part 2) Measuring Entropy. Entropy Function

Outline. Training Examples for EnjoySport. 2 lecture slides for textbook Machine Learning, c Tom M. Mitchell, McGraw Hill, 1997

Data classification (II)

CS145: INTRODUCTION TO DATA MINING

Classification: Decision Trees

Decision Trees. Data Science: Jordan Boyd-Graber University of Maryland MARCH 11, Data Science: Jordan Boyd-Graber UMD Decision Trees 1 / 1

Data Mining. CS57300 Purdue University. Bruno Ribeiro. February 8, 2018

UVA CS 4501: Machine Learning

Decision Tree. Decision Tree Learning. c4.5. Example

Induction of Decision Trees

Apprentissage automatique et fouille de données (part 2)

Decision Trees. CS57300 Data Mining Fall Instructor: Bruno Ribeiro

Decision Tree And Random Forest

ML techniques. symbolic techniques different types of representation value attribute representation representation of the first order

Introduction to Machine Learning CMU-10701

( D) I(2,3) I(4,0) I(3,2) weighted avg. of entropies

Lecture 24: Other (Non-linear) Classifiers: Decision Tree Learning, Boosting, and Support Vector Classification Instructor: Prof. Ganesh Ramakrishnan

Machine Learning 3. week

Induction on Decision Trees

Classification and Regression Trees

2018 CS420, Machine Learning, Lecture 5. Tree Models. Weinan Zhang Shanghai Jiao Tong University

Decision Trees. Danushka Bollegala

Chapter 3: Decision Tree Learning (part 2)

Bayesian Learning Features of Bayesian learning methods:

Decision Trees. CSC411/2515: Machine Learning and Data Mining, Winter 2018 Luke Zettlemoyer, Carlos Guestrin, and Andrew Moore

Data Mining Classification: Basic Concepts, Decision Trees, and Model Evaluation

Data Mining Classification: Basic Concepts and Techniques. Lecture Notes for Chapter 3. Introduction to Data Mining, 2nd Edition

Decision Trees. Common applications: Health diagnosis systems Bank credit analysis

Decision Support. Dr. Johan Hagelbäck.

Classification: Rule Induction Information Retrieval and Data Mining. Prof. Matteo Matteucci

Decision Tree Learning Lecture 2

Einführung in Web- und Data-Science

The Solution to Assignment 6

Decision Tree Learning

Tutorial 6. By:Aashmeet Kalra

Decision Trees. Each internal node : an attribute Branch: Outcome of the test Leaf node or terminal node: class label.

Lecture 7: DecisionTrees

CS 380: ARTIFICIAL INTELLIGENCE MACHINE LEARNING. Santiago Ontañón

Decision Trees. Nicholas Ruozzi University of Texas at Dallas. Based on the slides of Vibhav Gogate and David Sontag


Decision Tree Learning

Information Theory & Decision Trees

Machine Learning 2010

Knowledge Discovery and Data Mining

Decision trees COMS 4771

Machine Learning in Bioinformatics

Decision Trees. Lewis Fishgold. (Material in these slides adapted from Ray Mooney's slides on Decision Trees)

Notes on Machine Learning for and

Symbolic methods in TC: Decision Trees

Ensemble Methods. Charles Sutton Data Mining and Exploration Spring Friday, 27 January 12

Bayesian Classification. Bayesian Classification: Why?

Statistics and learning: Big Data

The Naïve Bayes Classifier. Machine Learning Fall 2017

Machine Learning: Symbolische Ansätze. Decision-Tree Learning. Introduction C4.5 ID3. Regression and Model Trees

Chapter 6: Classification

Transcription:

Classification and regression trees Pierre Geurts p.geurts@ulg.ac.be Last update: 23/09/2015 1

Outline Supervised learning Decision tree representation Decision tree learning Extensions Regression trees By- products 2

Database A collection of objects (rows) described by attributes (columns) checkingaccount duration purpose amount savings yearsemployed age good or bad 0<= <200 DM 48 radiotv 5951...<100 DM 1<...<4 22 bad...<0 DM 6 radiotv 1169 unknown...>7 67 good no 12 education 2096...<100 DM 4<...<7 49 good...<0 DM 42 furniture 7882...<100 DM 4<...<7 45 good...<0 DM 24 newcar 4870...<100 DM 1<...<4 53 bad no 36 education 9055 unknown 1<...<4 35 good no 24 furniture 2835 500<...<1000 DM...>7 53 good 0<=...<200 DM 36 usedcar 6948...<100 DM 1<...<4 35 good no 12 radiotv 3059...>1000 DM 4<...<7 61 good 0<=...<200 DM 30 newcar 5234...<100 DM unemployed 28 bad 0<=...<200 DM 12 newcar 1295...<100 DM...<1 25 bad...<0 DM 48 business 4308...<100 DM...<1 24 bad 0<=...<200 DM 12 radiotv 1567...<100 DM 1<...<4 22 good 3

Supervised learning inputs output A 1 A 2 A n Y 2.3 on 3.4 C1 1.2 off 0.3 C2............ Database=learning sample Automatic learning Ŷ = f(a 1,A 2,,A n ) model Goal: from the database, find a function f of the inputs that approximate at best the output Discrete output classification problem Continuous output regression problem 4

Examples of application (1) Predict whether a bank client will be a good debtor or not Image classification: Handwritten characters recognition: Face recognition 3 5 5

Examples of application (2) Classification of cancer types from gene expression profiles (Golub et al (1999)) N patient Gene 1 Gene 2 Gene 7129 Leucimia 1-134 28 123 AML 2-123 0 17 AML 3 56-123 -23 ALL 72 89-123 12 ALL 6

Learning algorithm It receives a learning sample and returns a function h A learning algorithm is defined by: A hypothesis space H (=a family of candidate models) A quality measure for a model An optimisation strategy 1 A2 0 0 1 A1 A model (h H) obtained by automatic learning 7

Decision (classification) trees A learning algorithm that can handle: Classification problems (binary or multi- valued) Attributes may be discrete (binary or multi- valued) or continuous. Classification trees were invented twice: By statisticians: CART (Breiman et al.) By the AI community: ID3, C4.5 (Quinlan et al.) 8

Hypothesis space A decision tree is a tree where: Each interior node tests an attribute Each branch corresponds to an attribute value Each leaf node is labelled with a class A1 a13 a11 a12 A2 A3 c1 a21 a22 a31 a32 c1 c2 c2 c1 9

A simple database: playtennis Day Outlook Temperature Humidity Wind Play Tennis D1 Sunny Hot High Weak No D2 Sunny Hot High Strong No D3 Overcast Hot High Weak Yes D4 Rain Mild Normal Weak Yes D5 Rain Cool Normal Weak Yes D6 Rain Cool Normal Strong No D7 Overcast Cool High Strong Yes D8 Sunny Mild Normal Weak No D9 Sunny Hot Normal Weak Yes D10 Rain Mild Normal Strong Yes D11 Sunny Cool Normal Strong Yes D12 Overcast Mild High Strong Yes D13 Overcast Hot Normal Weak Yes D14 Rain Mild High Strong No 10

A decision tree for playtennis Outlook Rain Sunny Overcast Humidity Wind yes High Normal Strong Weak no yes no yes 11

Tree learning Tree learning=choose the tree structure and determine the predictions at leaf nodes Predictions: to minimize the misclassification error, associate the majority class among the learning sample cases reaching this node 25 yes, 40 no Outlook Rain 15 yes, 10 no Sunny Overcast Humidity Wind yes High Normal Strong Weak no yes no yes 14 yes, 2 no 12

How to generate trees? (1) What properties do we want the decision tree to have? 1. It should be consistent with the learning sample (for the moment) Trivial algorithm: construct a decision tree that has one path to a leaf for each example Problem: it does not capture useful information from the database 13

How to generate trees? (2) What properties do we want the decision tree to have? 2. It should be at the same time as simple as possible Trivial algorithm: generate all trees and pick the simplest one that is consistent with the learning sample. Problem: intractable, there are too many trees 14

Top- down induction of DTs (1) Choose «best» attribute Split the learning sample Proceed recursively until each object is correctly classified Sunny Outlook Overcast Rain Day Outlook Temp. Humidity Wind Play D1 Sunny Hot High Weak No D2 Sunny Hot High Strong No Day Outlook Temp. Humidity Wind Play D4 Rain Mild Normal Weak Yes D5 Rain Cool Normal Weak Yes D8 Sunny Mild High Weak No D6 Rain Cool Normal Strong No Day Outlook Temp. Humidity Wind Play D9 Sunny Hot Normal Weak Yes D10 Rain Mild Normal Strong Yes D3 Overcast Hot High Weak Yes D11 Sunny Cool Normal Strong Yes D14 Rain Mild High Strong No D7 Overcast Cool High Strong Yes D12 Overcast Mild High Strong Yes D13 Overcast Hot Normal Weak Yes 15

Top- down induction of DTs (2) Procedure learn_dt(learning sample, LS) If all objects from LS have the same class Create a leaf with that class Else Find the «best» splitting attribute A Create a test node for this attribute For each value a of A Build LS a = {o LS A(o) is a} Use Learn_dt(LS a ) to grow a subtree from LS a. 16

Properties of TDIDT Hill- climbing algorithm in the space of possible decision trees. It adds a sub- tree to the current tree and continues its search It does not backtrack Sub- optimal but very fast Highly dependent upon the criterion for selecting attributes to test 17

Which attribute is best? A1=? [29+,35-] A2=? [29+,35-] T F T F [21+,5-] [8+,30-] [18+,33-] [11+,2-] We want a small tree We should maximize the class separation at each step, i.e. make successors as pure as possible it will favour short paths in the trees 18

Impurity Let LS be a sample of objects, p j the proportions of objects of class j (j=1,,j) in LS, Define an impurity measure I(LS) that satisfies: I(LS) is minimum only when p i =1 and p j =0 for j i (all objects are of the same class) I(LS) is maximum only when p j =1/J (there is exactly the same number of objects of all classes) I(LS) is symmetric with respect to p 1,,p J 19

Reduction of impurity The best split is the split that maximizes the expected reduction of impurity Δ I( LS, A) = I( LS) where LS a is the subset of objects from LS such that A=a. ΔI is called a score measure or a splitting criterion There are many other ways to define a splitting criterion that do not rely on an impurity measure a LS LS a I( LS a ) 20

Example of impurity measure (1) Shannon s entropy: H(LS)=- j p j log p j If two classes, p 1 =1-p 2 I(p1) 1 0,5 0 0 0,5 1 p1 Entropy measures impurity, uncertainty, surprise The reduction of entropy is called the information gain 21

Example of impurity measure (2) Which attribute is best? A1=? [29+,35-] A2=? [29+,35-] T F I=0.99 T F I=0.99 [21+,5-] [8+,30-] [18+,33-] [11+,2-] I=0.71 I=0.75 I=0.94 I=0.62 ΔI(LS,A1) = 0.99 - (26/64) 0.71 (38/64) 0.75 = 0.25 ΔI(LS,A2) = 0.99 - (51/64) 0.94 (13/64) 0.62 = 0.12 22

Gini index: Other impurity measures I(LS)= j p j (1-p j ) Misclassification error rate: I(LS)=1-max j p j two- class case: 1 Green: entropy Blue: Gini index Red: misclas. error (normalized between 0 and 1) I(p1) 0,5 0 0 0,5 1 p1 23

Playtennis problem Sunny Outlook Overcast Rain Day Outlook Temp. Humidity Wind Play D1 Sunny Hot High Weak No D2 Sunny Hot High Strong No D8 Sunny Mild High Weak No D9 Sunny Hot Normal Weak Yes D11 Sunny Cool Normal Strong Yes Day Outlook Temp. Humidity Wind Play Day Outlook Temp. Humidity Wind PlayD4 Rain Mild Normal Weak Yes D3 Overcast Hot High Weak YesD5 Rain Cool Normal Weak Yes D7 Overcast Cool High Strong YesD6 Rain Cool Normal Strong No D12 Overcast Mild High Strong Yes D10 Rain Mild Normal Strong Yes D13 Overcast Hot Normal Weak Yes D14 Rain Mild High Strong No Which attribute should be tested here? ΔI(LS,Temp.) = 0.970 - (3/5) 0.918 - (1/5) 0.0 - (1/5) 0.0=0.419 ΔI(LS,Hum.) = 0.970 - (3/5) 0.0 - (2/5) 0.0 = 0.970 ΔI(LS,Wind) = 0.970 - (2/5) 1.0 - (3/5) 0.918 = 0.019 the best attribute is Humidity 24

Overfitting (1) Our trees are perfectly consistent with the learning sample But, often, we would like them to be good at predicting classes of unseen data from the same distribution (generalization). A tree T overfits the learning sample iff T such that: Error LS (T) < Error LS (T ) Error unseen (T) > Error unseen (T ) 25

Overfitting (2) Error Underfitting Overfitting Error unseen Error LS Complexity In practice, Error unseen (T) is estimated from a separate test sample 26

Reasons for overfitting (1) Data is noisy or attributes do not completely predict the outcome Day Outlook Temperature Humidity Wind Play Tennis D15 Sunny Mild Normal Strong No Outlook Rain Sunny Overcast Humidity Wind yes High Normal Strong Weak no Temperature yes Mild Cool,Hot no yes no yes Add a test here 27

Reasons for overfitting (2) Data is incomplete (not all cases covered) + + + + + + + - - - - - - - - + - area with probably wrong predictions We do not have enough data in some part of the learning sample to make a good decision 28 - - - - - - - - - -

How can we avoid overfitting? Pre- pruning: stop growing the tree earlier, before it reaches the point where it perfectly classifies the learning sample Post- pruning: allow the tree to overfit and then post- prune the tree Ensemble methods (later in this course) 29

Pre- pruning Stop splitting a node if The number of objects is too small The impurity is low enough The best test is not statistically significant (according to some statistical test) Problem: the optimum value of the parameter (n, I th, significance level) is problem dependent. We may miss the optimum 30

Post- pruning (1) Split the learning sample LS into two sets: a growing sample GS to build the tree A validation sample VS to evaluate its generalization error Build a complete tree from GS Compute a sequence of trees {T 1,T 2, } where T 1 is the complete tree T i is obtained by removing some test nodes from T i- 1 Select the tree T i * from the sequence that minimizes the error on VS 31

Post- pruning (2) Error Underfitting Overfitting Tree puning Error on VS Tree growing Error on GS Optimal tree Complexity 32

Post- pruning (3) How to build the sequence of trees? Reduced error pruning: At each step, remove the node that most decreases the error on VS Cost- complexity pruning: Define a cost- complexity criterion: Error GS (T)+α.Complexity(T) Build the sequence of trees that minimize this criterion for increasing α 33

Post- pruning (4) T 1 T 3 Outlook Sunny Rain Overcast Humidity yes Wind High Normal Strong Weak Sunny no Outlook Overcast yes Rain Strong Wind Weak no Temp. no yes Mild Cool,Hot no yes Error GS =0%, Error VS =10% Error GS =13%, Error VS =15% no yes T 2 Outlook Sunny Rain Overcast Humidity yes Wind High Normal Strong Weak no yes no yes Error GS =6%, Error VS =8% T 4 Outlook Sunny Overcast Rain no yes yes Error GS =27%, Error VS =25% T 5 yes Error GS =33%, Error VS =35% 34

Post- pruning (5) Problem: require to dedicate one part of the learning sample as a validation set may be a problem in the case of a small database Solution: N- fold cross- validation Split the training set into N parts (often 10) Generate N trees, each leaving one part among N Make a prediction for each learning object with the (only) tree built without this case. Estimate the error of this prediction May be combined with pruning 35

How to use decision trees? Large datasets (ideal case): Split the dataset into three parts: GS, VS, TS Grow a tree from GS Post- prune it from VS Test it on TS Small datasets (often) Grow a tree from the whole database Pre- prune with default parameters (risky), post- prune it by 10- fold cross- validation (costly) Estimate its accuracy by 10- fold cross- validation 36

Outline Supervised learning Tree representation Tree learning Extensions Continuous attributes Attributes with many values Missing values Regression trees By- products 37

Continuous attributes (1) Example: temperature as a number instead of a discrete value Two solutions: Pre- discretize: Cold if Temperature<70, Mild between 70 and 75, Hot if Temperature>75 Discretize during tree growing: Temperature 65.4 >65.4 no yes How to find the cut- point? 38

Continuous attributes (2) Temp. Play Temp. Play 80 No 85 No 83 Yes 75 Yes 68 Yes 65 No 64 Yes Sort 64 Yes 65 No 68 Yes 69 Yes 70 Yes 71 No 72 No Temp.< 64.5 Temp.< 66.5 Temp.< 68.5 Temp.< 69.5 Temp.< 70.5 Temp.< 71.5 ΔI=0.048 ΔI=0.010 ΔI=0.000 ΔI=0.015 ΔI=0.045 ΔI=0.001 72 No 75 Yes 72 Yes 75 Yes Temp.< 73.5 ΔI=0.001 70 Yes 69 Yes 72 Yes 81 Yes 71 No 75 Yes 80 No 81 Yes 83 Yes 85 No Temp.< 77.5 Temp.< 80.5 Temp.< 82 Temp.< 84 ΔI=0.025 ΔI=0.000 ΔI=0.010 ΔI=0.113 39

Continuous attribute (3) A2<0.33? Number A1 A2 Colour yes no 1 0.58 0.75 Red good A1<0.91? A2<0.75? good 2 0.78 0.65 Red 3 0.89 0.23 Green 4 0.12 0.98 Red A1<0.23? A2<0.91? 5 0.17 0.26 Green 6 0.50 0.48 Red 7 0.45 0.16 Green bad A2<0.49? A2<0.65? good 8 0.80 0.75 Green 100 0.75 0.13 Green bad bad A2 1 0 0 1 A1 bad good 40

Attributes with many values (1) a Letter b c y z Problem: Not good splits: they fragment the data too quickly, leaving insufficient data at the next level The reduction of impurity of such test is often high (example: split on the object id). Two solutions: Change the splitting criterion to penalize attributes with many values Consider only binary splits (preferable) 41

Attributes with many values (2) Modified splitting criterion: Gainratio(LS,A)= ΔH(LS,A)/Splitinformation(LS,A) Splitinformation(LS,A)=- a LS a / LS log( LS a / LS ) The split information is high when there are many values Example: outlook in the playtennis ΔH(LS,outlook) = 0.246 Splitinformation(LS,outlook) = 1.577 Gainratio(LS,outlook) = 0.246/1.577=0.156 < 0.246 Problem: the gain ratio favours unbalanced tests 42

A simple database: playtennis Day Outlook Temperature Humidity Wind Play Tennis D1 Sunny Hot High Weak No D2 Sunny Hot High Strong No D3 Overcast Hot High Weak Yes D4 Rain Mild Normal Weak Yes D5 Rain Cool Normal Weak Yes D6 Rain Cool Normal Strong No D7 Overcast Cool High Strong Yes D8 Sunny Mild Normal Weak No D9 Sunny Hot Normal Weak Yes D10 Rain Mild Normal Strong Yes D11 Sunny Cool Normal Strong Yes D12 Overcast Mild High Strong Yes D13 Overcast Hot Normal Weak Yes D14 Rain Mild High Strong No 43

Attributes with many values (3) Allow binary tests only: {a,d,o,m,t} Letter All other letters There are 2 N - 1 possible subsets for N values If N is small, determination of the best subsets by enumeration If N is large, heuristics exist (e.g. greedy approach) 44

Missing attribute values Not all attribute values known for every objects when learning or when testing Day Outlook Temperature Humidity Wind Play Tennis D15 Sunny Hot? Strong No Three strategies: Assign most common value in the learning sample Assign most common value in tree Assign probability to each possible value 45

Regression trees (1) Tree for regression: exactly the same model but with a number in each leaf instead of a class Outlook Rain Sunny Overcast Humidity Wind 45.6 High Normal Strong Weak 22.3 Temperature <71 >71 1.2 3.4 64.4 7.4 46

Regression trees (2) A regression tree is a piecewise constant function of the input attributes X1 t 1 X 2 X2 t 2 X1 t 3 r 1 r 2 r 3 X2 t 4 t 2 r 2 r 1 r 3 r 5 r 4 t 1 t 3 X 1 r 4 r 5 47

Regression tree growing To minimize the square error on the learning sample, the prediction at a leaf is the average output of the learning cases reaching that leaf Impurity of a sample is defined by the variance of the output in that sample: I(LS)=var y LS {y}=e y LS {(y-e y LS {y}) 2 } The best split is the one that reduces the most variance: LSa ΔI ( LS, A) = var { y} y LS vary LS { y} a LS a 48

Regression tree pruning Exactly the same algorithms apply: pre- pruning and post- pruning. In post- pruning, the tree that minimizes the squared error on VS is selected. In practice, pruning is more important in regression because full trees are much more complex (often all objects have a different output values and hence the full tree has as many leaves as there are objects in the learning sample) 49

Outline Supervised learning Tree representation Tree learning Extensions Regression trees By- products Interpretability Variable selection Variable importance 50

Obvious Interpretability (1) Outlook Rain Sunny Overcast Humidity Wind yes High Normal Strong Weak no yes no Compare with a neural networks: yes Outlook Humidity Wind Temperature Play Don t play 51

Interpretability (2) Outlook Rain Sunny Overcast Humidity Wind yes High Normal Strong Weak no yes no yes A tree may be converted into a set of rules If (outlook=sunny) and (humidity=high) then PlayTennis=No If (outlook=sunny) and (humidity=normal) then PlayTennis=Yes If (outlook=overcast) then PlayTennis=Yes If (outlook=rain) and (wind=strong) then PlayTennis=No If (outlook=rain) and (wind=weak) then PlayTennis=Yes 52

Attribute selection If some attributes are not useful for classification, they will not be selected in the (pruned) tree Of practical importance, if measuring the value of an attribute is costly (e.g. medical diagnosis) Decision trees are often used as a pre- processing for other learning algorithms that suffer more when there are irrelevant variables 53

Variable importance In many applications, all variables do not contribute equally in predicting the output. We can evaluate variable importance by computing the total reduction of impurity brought by each variable: Imp(A)= nodes where A is tested LS node ΔI(LS node,a) Outlook Humidity Wind Temperature 54

When are decision trees useful? Advantages Very fast: can handle very large datasets with many attributes Complexity O(n.N log N ), with n the number of attributes and N the number of samples. Flexible: several attribute types, classification and regression problems, missing values Interpretability: provide rules and attribute importance Disadvantages Instabilityof the trees (high variance) Not always competitive with other algorithms in terms of accuracy 55

Further extensions and research Cost and un- balanced learning sample Oblique trees (test like α i A i < a th ) Using predictive models in leaves (e.g. linear regression) Induction graphs Fuzzy decision trees (from a crisp partition to a fuzzy partition of the learning sample) 56

Demo Illustration on two datasets: titanic http://www.cs.toronto.edu/~delve/data/titanic/desc.html splice junction http://www.cs.toronto.edu/~delve/data/splice/desc.html 57

References Chapter 9, Section 9.2 of the reference book (Hastie et al., 2009). Understanding random forests, Gilles Louppe, PhD thesis, Ulg, 2014 (http://hdl.handle.net/2268/170309) Supplementary slides are also available on the course website Classification and regression trees, L.Breiman et al., Wadsworth, 1984 C4.5: programs for machine learning, J.R.Quinlan, Morgan Kaufmann, 1993 Graphes d induction, D.Zighed and R.Rakotomalala, Hermes, 2000 58

Softwares scikit- learn: http://scikit- learn.org Weka J48 http://www.cs.waikato.ac.nz/ml/weka In R: Packages tree and rpart 59