We propose two mathematical programming based algorithms for interpretation and boosting of tree-based ensemble methods. These algorithms are called minimum rule cover (MIRCO) and rule cover boosting (RCBoost). The details of both algorithms are given in our paper. In this note, we introduce our implementation of both algorithms as well as list the steps to reproduce our results.
All our codes are implemented in Python 3.7 and we use the following packages:
We have used the standard installation of Anaconda Distribution (Python 3.7), with which the first two packages are already bundled. The third package can be separately installed again by the Anaconda package manager. Note that along with the Python package, you also need to install Gurobi Optimizer, which is free for research and educational work.
In order to test MIRCO on a set of test problems, we refer to page
MIRCO.html
or to the notebook. Likewise,
for RCBoost we have prepared another page
RCBoost.html
and a notebook.
We provide two scripts MIRCO_run.py
and
RCBoost_run.py
. Running these scripts should
reproduce the results that we have reported in our paper.