This library can be used to generate interpretable classification rules expressed as CNF/DNF and relaxed-CNF
Project description
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
Built Distribution
Hashes for pyrulelearn-1.0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7875362181b6a44c1686e8b6675eccc86d7ae541eeb7218feb2d4609a99bf8bc |
|
MD5 | e941f6af016bace70fea73660881d84f |
|
BLAKE2b-256 | 8dfd0f26aaaacdbe412f66e92d09530ca5948a0111262f13dcd36d6bde7206d1 |