As we saw in this question, the recommended strategy of building a decision tree is postpruning.
The two methods for that are subtree replacement and subtree raising. At each node, an algorithm decides whether it should perform subtree replacement, subtree raising, or leave the subtree as is.
- Subtree replacement selects a subtree and replaces it with a single leaf.
- Subtree raising selects a subtree and replaces it with the child one (ie, a "sub-subtree" replaces its parent)
What are the pros and cons, when should we use each?
Best Answer
My knee jerk response is:
- without a measure of goodness the word "better" has no meaning.
- I am trending to "c, none of the above" as my preferred approach
The approach to "build", if you mean build = grow, is to split on the best leaf until a stopping criterion is breached.
Like all Machine Learning tools, there are two goals for the tree, and they comprise a measure of goodness for the pruning process: maximize generalization, minimize error in representation. If you can agree to these two, in a general sense, then I can proceed with an answer.