Skip to main content

This library can be used to generate interpretable classification rules expressed as CNF/DNF and relaxed-CNF

Project description

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 learning 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 (bghosh@u.nus.edu)

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyrulelearn-1.0.5.tar.gz (13.6 kB view hashes)

Uploaded Source

Built Distribution

pyrulelearn-1.0.5-py3-none-any.whl (13.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page