Optimal Classification Trees for Continuous Feature Data Using Dynamic Programming with Branch-and-Bound
This addresses the scalability issue in optimal classification trees for machine learning practitioners, offering a more efficient and accurate method for handling continuous features, though it is incremental as it builds on existing dynamic programming approaches.
The paper tackles the NP-hard problem of computing optimal classification trees with size limits by proposing a novel algorithm that optimizes trees directly on continuous feature data using dynamic programming with branch-and-bound, resulting in runtime improvements of one or more orders of magnitude and a 5% increase in test accuracy over greedy heuristics.
Computing an optimal classification tree that provably maximizes training performance within a given size limit, is NP-hard, and in practice, most state-of-the-art methods do not scale beyond computing optimal trees of depth three. Therefore, most methods rely on a coarse binarization of continuous features to maintain scalability. We propose a novel algorithm that optimizes trees directly on the continuous feature data using dynamic programming with branch-and-bound. We develop new pruning techniques that eliminate many sub-optimal splits in the search when similar to previously computed splits and we provide an efficient subroutine for computing optimal depth-two trees. Our experiments demonstrate that these techniques improve runtime by one or more orders of magnitude over state-of-the-art optimal methods and improve test accuracy by 5% over greedy heuristics.