Code and data for running ILLUME. The code has been tested with Python 3.8.12.
To run the method, please look at main.ipynb to get familiar with data loading, model training, and explanation inference. Please refer also to the Appendix for detailed experimental settings and supplemental information about the method.
If you use the code in this repository, please consider citing us:
@inproceedings{piaggesi2025explanations,
title={Explanations Go Linear: Post-Hoc Explainability for Tabular Data with Interpretable Meta-Encoding},
author={Piaggesi, Simone and Guidotti, Riccardo and Giannotti, Fosca and Pedreschi, Dino},
booktitle={2025 IEEE International Conference on Data Mining (ICDM)},
pages={663--672},
year={2025},
organization={IEEE}
}First, set up the conda environment using the provided YAML file:
conda env create -f env.yml
conda activate illumeThen, navigate to experiments_paper/scripts/ folder and run the scripts.
For the experiments with feature importance and real data:
- ILLUME: train_eval_feature_importance.py
- LIME, SHAP, INP-LR: baseline_eval_feature_importance.py
For the experiments with decision rules and real data:
- ILLUME: train_eval_decision_rule.py
- LORE, ANCHOR, INP-DT: baseline_eval_decision_rule.py
For the experiments with SENECA synthetic data: