IMLI is an interpretable classification rule learning framework based on incremental mini-batch learning. This tool can be used to learn classification rules expressible in propositional logic, in particular in CNF, DNF, and relaxed CNF.
This tool is based on our CP-2018, AIES-2019, and ECAI-2020 papers.
- Install the PIP library.
pip install pyrulelearn
- Run
pip install -r requirements.txt
to install all necessary python packages available from pip.
This framework requires installing an off-the-shelf MaxSAT solver to learn CNF/DNF rules. Additionally, to learn relaxed-CNF rules, an LP (Linear Programming) solver is required.
To install Open-wbo, follow the instructions from here. After the installation is complete, add the path of the binary to the PATH variable.
export PATH=$PATH:'/path/to/open-wbo/'
Other off-the-shelf MaxSAT solvers can also be used for this framework.
To install the linear programming solver, i.e., CPLEX, download and install it from IBM. To setup the Python API of CPLEX, follow the instructions from here.
See the documentation in the notebook.
Please click on "issues" at the top and create a new issue. All issues are responded to promptly.
Bishwamittra Ghosh ([email protected])
@inproceedings{GMM20,
author={Ghosh, Bishwamittra and Malioutov, Dmitry and Meel, Kuldeep S.},
title={Classification Rules in Relaxed Logical Form},
booktitle={Proc. of ECAI},
year={2020},}
@inproceedings{GM19,
author={Ghosh, Bishwamittra and Meel, Kuldeep S.},
title={{IMLI}: An Incremental Framework for MaxSAT-Based Learning of Interpretable Classification Rules},
booktitle={Proc. of AIES},
year={2019},}
@inproceedings{MM18,
author={Malioutov, Dmitry and Meel, Kuldeep S.},
title={{MLIC}: A MaxSAT-Based framework for learning interpretable classification rules},
booktitle={Proceedings of International Conference on Constraint Programming (CP)},
month={08},
year={2018},}
The old version, MLIC (non-incremental framework) is available under the branch "MLIC". Please read the README of the old release to know how to compile the code.