Skip to content
/ MLIC Public

A new framework to generate interpretable classification rules

License

Notifications You must be signed in to change notification settings

meelgroup/MLIC

Repository files navigation

License: MIT

IMLI

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

  • 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.

Install MaxSAT solvers

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.

Install CPLEX

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.

Documentation

See the documentation in the notebook.

Issues, questions, bugs, etc.

Please click on "issues" at the top and create a new issue. All issues are responded to promptly.

Contact

Bishwamittra Ghosh ([email protected])

Citations

@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},}

Old Versions

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.