How many levels of the tree should I prune in my decision tree?

3 views (last 30 days)
How many levels of the tree should I prune in my decision tree? How can I detect how many levels is appropriate to have?

Answers (1)

MHN
MHN on 20 Feb 2016
Edited: MHN on 20 Feb 2016
There is no certain number for that. One way is computing resubstitution error for different pruning level and find the place which adding nodes does not significantly increase your accuracy.
load ionosphere
tree = fitctree(X,Y);
er = zeros(max(tree.PruneList),1);
for i = 1:max(tree.PruneList)
ptree = prune(tree,'level',i);
er(i,1) = resubLoss(ptree);
end
plot(max(tree.PruneList):-1:1,er)
for example in the above example, level four is a good choice. There are many methods to find the good pruning (before making the tree or after that), which depends on many factors.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!