Giter VIP home page Giter VIP logo

mlic's Introduction

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 ([email protected])

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.

mlic's People

Contributors

bishwamittra avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

mlic's Issues

Prediction through MaxSAT formulation

Hello, thanks for sharing the code.

Could you please explain why you use a MaxSAT solver for prediction?
Isn't this way slower than through a direct application of the learned rules?

Best regards!

How to apply the model on new data?

As the title suggests, how do I apply the model on unseen data since I don't have the label for those samples (of course) while the method "predict" requires the labels?

Issue in executing the tool

Unfortunately, I have encountered an issue while attempting to execute it. Each time I try to run the tool, I encounter an error related to the Orange package as shown in the screenshot.
435535441_310953958702555_8686972105717208620_n
In light of this, I would like to kindly ask if you could provide me with an executable version of the tool.

Model fit never finishes

Hello

I am trying to use the package but I can't make the code listed in the front page run till the end, except for some data sets. The runtime numbers reported in the paper just don't seem to materialize for me.

Let say I do

import rulelearning
model = rulelearning.imli(numClause=5)
X,y=model.discretize("/Users/sharapov/Documents/MLIC/benchmarks/adult_data_bintarget.csv")
model.fit(X,y)

This does not seem to finish.

I would appreciate if you could give me some tips on how to run the code and use it for practical purposes, so that it finishes within a reasonable amount of time.

Thank you

Problem with feature_engine package

Hello, I am currently working with the IMLI tool. Firstly, I want to express my appreciation for the work you've put into developing such a valuable tool.

I have encountered an issue while attempting to execute the IMLI tool. The error message I am facing is as follows:
ImportError: cannot import name 'discretisers' from 'feature_engine' (/opt/homebrew/lib/python3.11/site-packages/feature_engine/init.py)
Could you please provide guidance on resolving this ImportError? Additionally, if there are any specific dependencies or updates that I may have missed, I would greatly appreciate your advice.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.