MLICv2 is an incremental learning framework based on MaxSAT for generating interpretable classification rules. This tool is based on our work published in AIES 2019. We have introduced this framework as IMLI in the paper.
Benchmarks/Data consists of all the benchmark files used for the experiment.
Scripts contains all the scripts that are employed in testing and required for reproducibility.
Scripts 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., MaxHS, Open-Wbo) to be in the PATH variable.
Scripts also contains some additional scripts.
Scripts/mlic.py includes the source code of the state of the art MaxSAT based interpretable rule learning framework and requires a MaxSAT solver in PATH.
Scripts/helper.py consists of several methods for discretizing a non-binary featured dataset into a binary featured dataset, partitioning training data, storing processed data in temporary space etc.
Scripts/init.py is the entry point in the system which processes a user-specific dataset by calling methods from
Scripts/other_classifiers.py contains the code for comparing MaxSAT based approach with other machine learning tools e.g., nearest neighbour, support vector classifier, logistic regression, random forest, and ripper. Ripper algorithm is supported by WEKA (jRIP). Carefully check the path of weka.jar, and make sure that PATH is consistent with the script (run_weka_RIPPER method in script).
output directory contains an additional script and is called within the scripts from
Scripts directory for presenting the experiment results in CSV format under
Scripts directory to process the dataset.
python init.py <dataset> <partition>
python init.py --dataset=iris --partition=4
Scripts directory to generate interpretable rules using incremental learning framework.
python imli.py <dataset> <partition>
python imli.py --dataset=iris --partition=4
You can pass
python imli.py -h to see all the possible options.
To execute the state of the art tool MLIC and other ML tools, initialize the system using the following command from
python init.py <dataset>
mlic.py from the same directory.
python mlic.py <dataset>
Similarly to conduct experiments with other tools, run
python other_classifiers.py <dataset> <classifier>
Scripts/other_classifiers.py for a list of classifiers and parameter settings.
In the root directory, execute
python default.py to go to the initial state of the system.
For more details, refer to the source code.
Issues, questions, bugs, etc.
Please click on "issues" at the top and create a new issue. All issues are responded to promptly.
The old version, MLIC is available under the branch "MLIC". Please read the README of the old release to know how to compile the code.