ODTLearn is an open-source Python package that provides methods for learning optimal decision trees for high-stakes classification and prescriptive problems using the mixed-integer optimization (MIO) framework proposed in (Aghaei et al., 2019). The package has been designed to be easy to maintain and extend as new optimal decision tree problem classes and reformulation strategies are introduced. To this end, the package follows object-oriented design principles and supports both commercial (Gurobi) and open source (COIN-OR branch and cut) solvers. The package is distributed under a GPL-3.0 license and source code, documentation, and an extensive user guide can be found at https://d3m-research-group.github.io/odtlearn/ .

An optimal decision tree for an example dataset.