{ "info": { "author": "Bishwamittra Ghosh", "author_email": "bishwamittra.ghosh@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Build Tools" ], "description": "# IMLI\n\nIMLI is an incremental learning framework based on MaxSAT for generating interpretable classification rules via partition-based training methodology. This tool is based on our [paper](https://bishwamittra.github.io/publication/imli-ghosh.pdf) published in AAAI/ACM Conference on AI, Ethics, and Society(AIES), 2019. \n\n\n\n\n# Directory Description\n\nThe directory `benchmarks/` consists of all the benchmark files used for the experiment. \n\nThe directory `rulelearning` contains all the scripts that are employed in testing and required for reproducibility. \nIn the `rulelearning` directory, we have added `imli.py` which is the incremental learning framework for generating interpretable rules. To run `imli.py`, you will need an off the self MaxSAT solver (e.g., Open-Wbo) to be in the PATH variable.\n\n# PIP Install\nRun the following command to install this framework.\n\n```\npip install rulelearning\n```\n\n# Install MaxSAT solvers\n\nTo install Open-wbo, follow the instructions in the official [link](http://sat.inesc-id.pt/open-wbo/).\nAfter the installation is complete, add the path of the binary in 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# Usage\n\nImport rulelearning in Python.\n```\nimport rulelearning\n```\n\nCall an instance of `imli` object. Specify the parameters in `imli()` if needed. For example, in order to set `open-wbo` as the MaxSAT solver, pass the parameter `solver=\"open-wbo\"`.\n```\nmodel=rulelearning.imli()\n```\nDiscretize any dataset in csv format by calling the following function. `benchmarks/` contains a set of sample datasets.\n```\nX,y=model.discretize(\"benchmarks/iris_bintarget.csv\")\n```\n If the dataset contains categorical features, specify the index of such categorical features as a list in the parameter. Look for other parameter choices too. For example:\n```\nX,y=model.discretize(\"benchmarks/credit_card_clients.csv\",categoricalColumnIndex=[2,3,4])\n```\nTrain the model as follows. \n```\nmodel.fit(X,y)\n```\nTo retrive the learned rule, call the `getRule()` function.\n```\nmodel.getRule()\n```\nTo compute the predictions on a test set e.g., `{XTest,yTest}`, call `predict(Xtest,yTest)` function.\n```\nyhat=model.predict(XTest,yTest)\n```\nPlay with other getter functions to learn various attributes of the trained model.\n\n\nFor more details, refer to the source code.\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/) (bishwa@comp.nus.edu.sg)\n\n# How to cite\n@inproceedings{GM19,
\nauthor={Ghosh, Bishwamittra and Meel, Kuldeep S.},
\ntitle={IMLI: An Incremental Framework for MaxSAT-Based Learning of Interpretable Classification Rules},
\nbooktitle={Proceedings of AAAI/ACM Conference on AI, Ethics, and Society(AIES)},
\nmonth={1},
\nyear={2019},}\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", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/meelgroup/MLIC/archive/v1.05.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/meelgroup/MLIC", "keywords": "Classification Rules,Interpretable Rules,CNF Classification Rules,DNF Classification Rules,MaxSAT-based Rule Learning", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "rulelearning", "package_url": "https://pypi.org/project/rulelearning/", "platform": "", "project_url": "https://pypi.org/project/rulelearning/", "project_urls": { "Download": "https://github.com/meelgroup/MLIC/archive/v1.05.tar.gz", "Homepage": "https://github.com/meelgroup/MLIC" }, "release_url": "https://pypi.org/project/rulelearning/1.5/", "requires_dist": [ "numpy", "pandas", "sklearn" ], "requires_python": "", "summary": "This library can be used to generate interpretable classification rules expressed as CNF/DNF", "version": "1.5" }, "last_serial": 5868315, "releases": { "1.1": [ { "comment_text": "", "digests": { "md5": "163dc1a2385f76432e174f7731af1fb8", "sha256": "67a89b90aac3ca1355958f2e5fb0cde9955df836ef5aa3cf2bb771845e31eb1f" }, "downloads": -1, "filename": "rulelearning-1.1.tar.gz", "has_sig": false, "md5_digest": "163dc1a2385f76432e174f7731af1fb8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8188, "upload_time": "2019-03-05T13:35:12", "url": "https://files.pythonhosted.org/packages/73/fd/b1a1a0fe3f6c968ab3efb7dd5804b3d97692ccb2aaaec5cfb5f95fc4a17d/rulelearning-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "cb79491db3ebf6f0af279908541d38bb", "sha256": "730e18a46f906c3175fb7070a8b9d4a08d5674fecf1f39ec1ca06e306b33f71c" }, "downloads": -1, "filename": "rulelearning-1.2.tar.gz", "has_sig": false, "md5_digest": "cb79491db3ebf6f0af279908541d38bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8293, "upload_time": "2019-03-08T04:15:28", "url": "https://files.pythonhosted.org/packages/92/59/5730ec3ccf7bd5baf3d051f2e0e3f33512804021c7f0128eb929393ff268/rulelearning-1.2.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "46a5fa4b2407999bff1377445120b569", "sha256": "cd2f9347e68df110b438c065912d5af255227525a1dc0cc820b1c5ac984e531f" }, "downloads": -1, "filename": "rulelearning-1.3.tar.gz", "has_sig": false, "md5_digest": "46a5fa4b2407999bff1377445120b569", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8268, "upload_time": "2019-03-19T11:08:50", "url": "https://files.pythonhosted.org/packages/6d/00/e30cb2d337ddbb73e198ae6b6cb1b6f20058ec6e424f6a3eab8cca1f0a97/rulelearning-1.3.tar.gz" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "5f9561a734a8a13cc2e03cd56a13cb47", "sha256": "1897abbd167e675fb8307a3fb86ece0194d9bfee2a53f674a272eabd4e40a079" }, "downloads": -1, "filename": "rulelearning-1.4.tar.gz", "has_sig": false, "md5_digest": "5f9561a734a8a13cc2e03cd56a13cb47", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8823, "upload_time": "2019-08-12T09:32:43", "url": "https://files.pythonhosted.org/packages/19/d4/3e36c0f16c0540b173e9c20530bfb0239d05820e36d88c7ee1009d4db694/rulelearning-1.4.tar.gz" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "3e53d76a0bf902f65e279bdff7f95cb6", "sha256": "97130ab0710e66e8c358341d8410e3a6dd2b2ff06c36350ead9c64e60a94668b" }, "downloads": -1, "filename": "rulelearning-1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "3e53d76a0bf902f65e279bdff7f95cb6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9178, "upload_time": "2019-09-22T08:41:49", "url": "https://files.pythonhosted.org/packages/a0/b1/5729ab952b1f2a576469f1d254b1a59609a987c3ee4c8d1525867b06858c/rulelearning-1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a4b7809fa2364c5b6afcd54adf11f36a", "sha256": "d6800823ec9cf02ba67c7a7a2c0bdec8f6f836dc4ce29bbef1db1823812cf3b8" }, "downloads": -1, "filename": "rulelearning-1.5.tar.gz", "has_sig": false, "md5_digest": "a4b7809fa2364c5b6afcd54adf11f36a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8791, "upload_time": "2019-09-22T08:41:51", "url": "https://files.pythonhosted.org/packages/44/7c/cf80427a0705efc5620c9a4113e724a35c2006f967389196f85253a31357/rulelearning-1.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3e53d76a0bf902f65e279bdff7f95cb6", "sha256": "97130ab0710e66e8c358341d8410e3a6dd2b2ff06c36350ead9c64e60a94668b" }, "downloads": -1, "filename": "rulelearning-1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "3e53d76a0bf902f65e279bdff7f95cb6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9178, "upload_time": "2019-09-22T08:41:49", "url": "https://files.pythonhosted.org/packages/a0/b1/5729ab952b1f2a576469f1d254b1a59609a987c3ee4c8d1525867b06858c/rulelearning-1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a4b7809fa2364c5b6afcd54adf11f36a", "sha256": "d6800823ec9cf02ba67c7a7a2c0bdec8f6f836dc4ce29bbef1db1823812cf3b8" }, "downloads": -1, "filename": "rulelearning-1.5.tar.gz", "has_sig": false, "md5_digest": "a4b7809fa2364c5b6afcd54adf11f36a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8791, "upload_time": "2019-09-22T08:41:51", "url": "https://files.pythonhosted.org/packages/44/7c/cf80427a0705efc5620c9a4113e724a35c2006f967389196f85253a31357/rulelearning-1.5.tar.gz" } ] }