pyrulelearn


Namepyrulelearn JSON
Version 1.1.0 PyPI version JSON
download
home_pagehttps://github.com/meelgroup/MLIC
SummaryThis library can be used to generate interpretable classification rules expressed as CNF/DNF and relaxed-CNF
upload_time2021-04-08 11:36:46
maintainer
docs_urlNone
authorBishwamittra Ghosh
requires_python
licenseMIT
keywords classification rules interpretable rules cnf classification rules dnf classification rules maxsat-based rule learning
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/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](https://bishwamittra.github.io/publication/imli-ghosh.pdf), and [relaxed CNF](https://bishwamittra.github.io/publication/ecai_2020/paper.pdf).   

This tool  is based on our [CP-2018](https://arxiv.org/abs/1812.01843), [AIES-2019](https://bishwamittra.github.io/publication/imli-ghosh.pdf), and  [ECAI-2020](https://bishwamittra.github.io/publication/ecai_2020/paper.pdf) 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](http://sat.inesc-id.pt/open-wbo/).
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](https://www.ibm.com/support/pages/downloading-ibm-ilog-cplex-optimization-studio-v1290).  To setup the Python API of CPLEX, follow the instructions from [here](https://www.ibm.com/support/knowledgecenter/SSSA5P_12.7.0/ilog.odms.cplex.help/CPLEX/GettingStarted/topics/set_up/Python_setup.html).

# Documentation

See the documentation in the [notebook](doc/documentation.ipynb).

## Issues, questions, bugs, etc.
Please click on "issues" at the top and [create a new issue](https://github.com/meelgroup/MLIC/issues). All issues are responded to promptly.

## Contact
[Bishwamittra Ghosh](https://bishwamittra.github.io/) (bghosh@u.nus.edu)

## Citations


@inproceedings{GMM20,<br />
author={Ghosh, Bishwamittra and Malioutov, Dmitry and  Meel, Kuldeep S.},<br />
title={Classification Rules in Relaxed Logical Form},<br />
booktitle={Proc. of ECAI},<br />
year={2020},}

@inproceedings{GM19,<br />
author={Ghosh, Bishwamittra and  Meel, Kuldeep S.},<br />
title={{IMLI}: An Incremental Framework for MaxSAT-Based Learning of Interpretable Classification Rules},<br />
booktitle={Proc. of AIES},<br />
year={2019},}

@inproceedings{MM18,<br />
author={Malioutov, Dmitry and  Meel, Kuldeep S.},<br />
title={{MLIC}: A MaxSAT-Based framework for learning interpretable classification rules},<br />
booktitle={Proceedings of International Conference on Constraint Programming (CP)},<br />
month={08},<br />
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. 



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/meelgroup/MLIC",
    "name": "pyrulelearn",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "Classification Rules,Interpretable Rules,CNF Classification Rules,DNF Classification Rules,MaxSAT-based Rule Learning",
    "author": "Bishwamittra Ghosh",
    "author_email": "bishwamittra.ghosh@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/fe/89/52a311dff996e0be54391f86ef635767e44405992ee90585e84d6ceabee1/pyrulelearn-1.1.0.tar.gz",
    "platform": "",
    "description": "[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n# IMLI\n\nIMLI 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](https://bishwamittra.github.io/publication/imli-ghosh.pdf), and [relaxed CNF](https://bishwamittra.github.io/publication/ecai_2020/paper.pdf).   \n\nThis tool  is based on our [CP-2018](https://arxiv.org/abs/1812.01843), [AIES-2019](https://bishwamittra.github.io/publication/imli-ghosh.pdf), and  [ECAI-2020](https://bishwamittra.github.io/publication/ecai_2020/paper.pdf) papers.\n\n\n\n\n\n\n# Install\n- Install the PIP library.\n```\npip install pyrulelearn\n```\n\n- Run `pip install -r requirements.txt` to install all necessary python packages available from pip.\n\nThis 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.\n\n### Install MaxSAT solvers\n\nTo install Open-wbo, follow the instructions from [here](http://sat.inesc-id.pt/open-wbo/).\nAfter the installation is complete, add the path of the binary to the PATH variable. \n```\nexport PATH=$PATH:'/path/to/open-wbo/'\n```\nOther off-the-shelf MaxSAT solvers can also be used for this framework.\n\n### Install CPLEX\n\nTo install the linear programming solver, i.e., CPLEX, download and install it from [IBM](https://www.ibm.com/support/pages/downloading-ibm-ilog-cplex-optimization-studio-v1290).  To setup the Python API of CPLEX, follow the instructions from [here](https://www.ibm.com/support/knowledgecenter/SSSA5P_12.7.0/ilog.odms.cplex.help/CPLEX/GettingStarted/topics/set_up/Python_setup.html).\n\n# Documentation\n\nSee the documentation in the [notebook](doc/documentation.ipynb).\n\n## Issues, questions, bugs, etc.\nPlease click on \"issues\" at the top and [create a new issue](https://github.com/meelgroup/MLIC/issues). All issues are responded to promptly.\n\n## Contact\n[Bishwamittra Ghosh](https://bishwamittra.github.io/) (bghosh@u.nus.edu)\n\n## Citations\n\n\n@inproceedings{GMM20,<br />\nauthor={Ghosh, Bishwamittra and Malioutov, Dmitry and  Meel, Kuldeep S.},<br />\ntitle={Classification Rules in Relaxed Logical Form},<br />\nbooktitle={Proc. of ECAI},<br />\nyear={2020},}\n\n@inproceedings{GM19,<br />\nauthor={Ghosh, Bishwamittra and  Meel, Kuldeep S.},<br />\ntitle={{IMLI}: An Incremental Framework for MaxSAT-Based Learning of Interpretable Classification Rules},<br />\nbooktitle={Proc. of AIES},<br />\nyear={2019},}\n\n@inproceedings{MM18,<br />\nauthor={Malioutov, Dmitry and  Meel, Kuldeep S.},<br />\ntitle={{MLIC}: A MaxSAT-Based framework for learning interpretable classification rules},<br />\nbooktitle={Proceedings of International Conference on Constraint Programming (CP)},<br />\nmonth={08},<br />\nyear={2018},}\n\n## Old Versions\nThe 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. \n\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "This library can be used to generate interpretable classification rules expressed as CNF/DNF and relaxed-CNF",
    "version": "1.1.0",
    "split_keywords": [
        "classification rules",
        "interpretable rules",
        "cnf classification rules",
        "dnf classification rules",
        "maxsat-based rule learning"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "2346228e07ff05b70a8ee6b93c40c33e",
                "sha256": "051274339a317325f7dca175353666388fa36847ae61b4d440abfbc979e6caaf"
            },
            "downloads": -1,
            "filename": "pyrulelearn-1.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2346228e07ff05b70a8ee6b93c40c33e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 20629,
            "upload_time": "2021-04-08T11:36:45",
            "upload_time_iso_8601": "2021-04-08T11:36:45.388911Z",
            "url": "https://files.pythonhosted.org/packages/d3/8e/7ad4e4be12dfe0bded8ba55bc5db2dee45d64ed91e4016eb2b64f80ccece/pyrulelearn-1.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "c36ac8350539bebed78edf45ec7dedef",
                "sha256": "29b9d7a0250ae34518a49d77c2d791e9796907b0f7b9f4732157bbbd29c2d7dc"
            },
            "downloads": -1,
            "filename": "pyrulelearn-1.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "c36ac8350539bebed78edf45ec7dedef",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 19950,
            "upload_time": "2021-04-08T11:36:46",
            "upload_time_iso_8601": "2021-04-08T11:36:46.853530Z",
            "url": "https://files.pythonhosted.org/packages/fe/89/52a311dff996e0be54391f86ef635767e44405992ee90585e84d6ceabee1/pyrulelearn-1.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2021-04-08 11:36:46",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": null,
    "github_project": "meelgroup",
    "error": "Could not fetch GitHub repository",
    "lcname": "pyrulelearn"
}
        
Elapsed time: 0.32709s