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 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 (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.1.1.tar.gz (21.8 kB view details)

Uploaded Source

Built Distribution

pyrulelearn-1.1.1-py3-none-any.whl (22.1 kB view details)

Uploaded Python 3

File details

Details for the file pyrulelearn-1.1.1.tar.gz.

File metadata

  • Download URL: pyrulelearn-1.1.1.tar.gz
  • Upload date:
  • Size: 21.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.6

File hashes

Hashes for pyrulelearn-1.1.1.tar.gz
Algorithm Hash digest
SHA256 515974374f6a9fd82a3c5964a5f723b28fce074605d17983512bc89b0e4e1d6e
MD5 728ca5f65c3298e5aa776629ea9835ac
BLAKE2b-256 2950667894d8c5626edf9bda10b546acf377b211007c1aa25fcc55f1b8a6e087

See more details on using hashes here.

File details

Details for the file pyrulelearn-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: pyrulelearn-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 22.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.6

File hashes

Hashes for pyrulelearn-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 94698d66bdd27f40043ef15fc28f33344bbee8c1ba4ff2e6f223a9cb10ae4486
MD5 59f7f60d8c93efacbc7166e98aa62d43
BLAKE2b-256 c41c27418aa356d3ac78ebb5f891bdcb36d61a7ab3d81c1076d3550ed40cfa4f

See more details on using hashes here.

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