Skip to content
Branch: master
Go to file

Latest commit


Failed to load latest commit information.
Latest commit message
Commit time

Automated Dependence Plots

The following repository is the code for the following paper. If you use this code, please cite this paper:

Automated Dependence Plots
David I. Inouye, Liu Leqi, Joon Sik Kim, Bryon Aragam, Pradeep Ravikumar
To appear in Uncertainty in Artificial Intelligence (UAI), 2020.


To setup environment (via conda), download data and pretrained models, and run notebooks to generate figures, simply run the following commands:

make conda-env
source activate adp-env || conda activate adp-env
make data
make models
make test


We use a slightly older version of scikit-learn (0.19) but otherwise the packages are fairly standard. To setup a conda environment and install requirements:

make conda-env
conda activate adp-env

Or to do it manually:

conda env create -f environment.yml
conda activate adp-env

To remove this environment:

conda env remove --name adp-env

Data and pretrained models setup

For simplicity, it's probably best to download all data and pretrained models before going through the tests. The longest setup is for the GTSRB sign dataset but it should only take a few minutes. Just run the following make commands to setup both the models and data

make models
make data


Notebooks should be run by starting Jupyter notebooks in the notebooks folder. This is to make sure the relative paths work correctly for loading the module and data/models.

cd notebooks/
jupyter notebook


Each figure can be reproduced by running the following notebooks:

  1. Figure 1 - figure-loan-optimize.ipynb
  2. Figure 2 - figure-local-vs-counterfactual.ipynb
  3. Figure 3 - figure-lipschitz-bounded.ipynb
  4. Figure 4 - figure-loan-model-comparison.ipynb
  5. Figure 5 - figure-selection-bias.ipynb
  6. Figure 6 - figure-streetsign.ipynb
  7. Figure 7 - figure-vae-mnist.ipynb
  8. One appendix figure - figure-domain-mismatch-loan.ipynb

To run notebooks from command line

jupyter nbconvert --ExecutePreprocessor.timeout=-1 --to notebook --execute notebooks/NOTEBOOK_NAME.ipynb

We have provided a Makefile for running all the notebooks. Merely run the following command to execute all notebooks (output goes intout notebooks/results/NOTEBOOKNAME.out. An *.error file will be generated if the notebook failed and a *.success file will be generated if the notebook ran successfully.

make test

Other Notes

The "counterfactual" link is to maintain backwards compatability with code developed for a previous paper manuscript.


Code for automated dependence plots developed in our UAI 2020 paper.



No releases published
You can’t perform that action at this time.