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. (2019) 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.
翻译:ODTLearn是一个开源Python包,基于Aghaei等人(2019)提出的混合整数优化(MIO)框架及其扩展方法,提供面向高风险预测与处方任务的最优决策树学习方法。当前版本实现了以下功能:最优分类树学习、最优公平分类树学习、对分布偏移鲁棒的最优分类树学习,以及基于观测数据的最优处方树学习。该包采用面向对象设计原则,支持商业求解器(Gurobi)与开源求解器(COIN-OR branch and cut),便于在引入新问题类别、重构策略与求解算法时进行维护与扩展。详细文档与用户指南见https://d3m-research-group.github.io/odtlearn/;源代码、功能请求与错误报告可提交至https://github.com/D3M-Research-Group/odtlearn。