ODTlearn: A Package for Learning Optimal Decision Trees for Prediction and Prescription
This package provides tools for researchers and practitioners in machine learning to implement and extend optimal decision tree methods, but it is incremental as it builds on existing optimization frameworks.
The authors introduced ODTlearn, an open-source Python package for learning optimal decision trees using mixed-integer optimization, addressing high-stakes predictive and prescriptive tasks such as classification, fairness, robustness, and prescription from observational data.
ODTLearn is an open-source Python package that provides methods for learning optimal decision trees for high-stakes predictive and prescriptive tasks based on the mixed-integer optimization (MIO) framework proposed in (Aghaei et al., 2021) and several of its extensions. The current version of the package provides implementations for learning optimal classification trees, optimal fair classification trees, optimal classification trees robust to distribution shifts, and optimal prescriptive trees from observational data. We have designed the package to be easy to maintain and extend as new optimal decision tree problem classes, reformulation strategies, and solution algorithms 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 documentation and an extensive user guide can be found at https://d3m-research-group.github.io/odtlearn/. Additionally, users can view the package source code and submit feature requests and bug reports by visiting https://github.com/D3M-Research-Group/odtlearn.