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 查看源代码并提交功能请求及错误报告。