Symbolic Pursuit
Github for the NIPS 2020 paper "Learning outside the black-box: at the pursuit of interpretable models"
Installation
The library can be installed from PyPI using
$ pip install symbolic_pursuit
or from source, using
$ pip install .
Example Usage
To build a symbolic regressor for a given dataset and a given model (or a given model type), the following command can be used :
python3 build_interpreter.py [-h] [--dataset DATASET] [--test_ratio TEST_RATIO]
[--model MODEL] [--model_type MODEL_TYPE]
[--verbosity VERBOSITY] [--loss_tol LOSS_TOL]
[--ratio_tol RATIO_TOL] [--maxiter MAXITER]
[--eps EPS] [--random_seed RANDOM_SEED]
For example, if one would like to train a MLP one the wine-quality-red dataset and then fit a symbolic regressor with random seed 27, one can use the command
python3 build_interpreter --dataset wine-quality-red --model_type MLP --random_seed 27
For more details on how to use the module in general, see the 3 enclosed notebooks.
1. Building a Symbolic Regressor 2. Symbolic Pursuit vs LIME 3. Synthetic experiments with Symbolic Pursuit
:hammer: Tests
Install the testing dependencies using
pip install .[testing]
The tests can be executed using
pytest -vsx
References
In our experiments, we used implementations of LIME, SHAP and pysymbolic
Citing
If you use this code, please cite the associated paper:
@article{https://doi.org/10.48550/arxiv.2011.08596,
doi = {10.48550/ARXIV.2011.08596},
url = {https://arxiv.org/abs/2011.08596},
author = {Crabbé, Jonathan and Zhang, Yao and Zame, William and van der Schaar, Mihaela},
keywords = {Machine Learning (cs.LG), Artificial Intelligence (cs.AI), FOS: Computer and information sciences, FOS: Computer and information sciences},
title = {Learning outside the Black-Box: The pursuit of interpretable models},
publisher = {NeurIPS 2020},
year = {2020},
}
Metadata
Release files for symbolic-pursuit 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| symbolic_pursuit-0.0.2-py3-none-macosx_10_14_x86_64.whl | Python 3 | none | macOS 10.14+ x86-64 | Details |
| symbolic_pursuit-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.7 kB
Release files / symbolic_pursuit-0.0.2-py3-none-macosx_10_14_x86_64.whl
| Download URL | symbolic_pursuit-0.0.2-py3-none-macosx_10_14_x86_64.whl |
|---|---|
| Size | 11.8 kB |
| Tags | Python 3 macOS 10.14+ x86-64 |
|
SHA-256 checksum How to use checksums |
44cadeff83ec458cef9fc608e84c1bb6c5cc91b5177833b97f5197950a95edc2
|
|
BLAKE2b-256 checksum How to use checksums |
f1baaa54462ed5872759aed1d925b08c2aeee3fcf2e9a54609a8e0c6e3e1be9f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.11
|
Release files / symbolic_pursuit-0.0.2-py3-none-any.whl
| Download URL | symbolic_pursuit-0.0.2-py3-none-any.whl |
|---|---|
| Size | 11.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
96b2f44503afacc4fa200415013283b4eb5fc47e1a217a613eaa101a2a88b6c2
|
|
BLAKE2b-256 checksum How to use checksums |
6c06aab346288fe0562e3572fa48dec38637224e49f6eb2cdb50fc2cd3676d41
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.13
|