Skip to content
Code for our paper "Fairwashing: the risk of rationalization" (https://arxiv.org/abs/1901.09749) accepted at ICML 2019.
Branch: icml
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
algs code of LaundryML for ICML 2019 Jan 23, 2019
plotting_scripts code of LaundryML for ICML 2019 Jan 23, 2019
Makefile code of LaundryML for ICML 2019 Jan 23, 2019
README.md update of the README Apr 24, 2019
RuleEnumerator.py code of LaundryML for ICML 2019 Jan 23, 2019
RuleList.py code of LaundryML for ICML 2019 Jan 23, 2019
RuleModels.py code of LaundryML for ICML 2019 Jan 23, 2019
__init__.py code of LaundryML for ICML 2019 Jan 23, 2019
_adult.py code of LaundryML for ICML 2019 Jan 23, 2019
_audit.py code of LaundryML for ICML 2019 Jan 23, 2019
_compas.py code of LaundryML for ICML 2019 Jan 23, 2019
benchmark_adult.py code of LaundryML for ICML 2019 Jan 23, 2019
benchmark_compas.py code of LaundryML for ICML 2019 Jan 23, 2019
benchmark_local_adult.py code of LaundryML for ICML 2019 Jan 23, 2019
benchmark_local_compas.py code of LaundryML for ICML 2019 Jan 23, 2019
compute_fairness.py code of LaundryML for ICML 2019 Jan 23, 2019
fairness_eval.py code of LaundryML for ICML 2019 Jan 23, 2019
plot.py code of LaundryML for ICML 2019 Jan 23, 2019
requirements.txt code of LaundryML for ICML 2019 Jan 23, 2019
selection_adult.py code of LaundryML for ICML 2019 Jan 23, 2019
selection_compas.py code of LaundryML for ICML 2019 Jan 23, 2019
summary.py code of LaundryML for ICML 2019 Jan 23, 2019
summary_audit_adult.py code of LaundryML for ICML 2019 Jan 23, 2019
summary_audit_compas.py code of LaundryML for ICML 2019 Jan 23, 2019
summary_rationalization_both.py code of LaundryML for ICML 2019 Jan 23, 2019
utils.py code of LaundryML for ICML 2019 Jan 23, 2019

README.md

LaundryML

**LaundryML is a regularized model enumeration algorithm that enumerates rule lists for rationalization.

This code is based on the implementation of the Certifiably Optimal RulE ListS (CORELS) algorithm. For information on CORELS, please visit its website.

Python dependencies

  • pip install -r requirements.txt

C/C++ dependencies

  • gmp (GNU Multiple Precision Arithmetic Library)
  • mpfr (GNU MPFR Library for multiple-precision floating-point computations; depends on gmp)
  • libmpc (GNU MPC for arbitrarily high precision and correct rounding; depends on gmp and mpfr)

Compilation

  • make

Scripts for model rationalization

  • [Adult Income]: python benchmark_adult.py
  • [ProPublica Recidivism]: python benchmark_compas.py
  • Result will be generated in the folder "res"

Scripts for outcome rationalization

  • [Adult Income]: python benchmark_local_adult.py
  • [ProPublica Recidivism]: python benchmark_local_compas.py
  • Result will be generated in the folder "res_local"

Visualizing results for model rationalization

Models performances

  • First run python summary_rationalization_both.py
  • Run Rscript both_analysis.R in the "plotting_scripts" repository
  • Results are saved in plotting_scripts/data/graphs

Audit of best models

  • First run python selection_adult.py and python selection_compas.py to get the best models='s id, beta and lambda
  • Run python summary_audit_adult.py and python summary_compas_adult.py with the corresponding pareameters
  • Results are saved in plotting_scripts/data/graphs

Visualizing results for outcome rationalization

Models performances

  • Run Rscript analysis_local_adult.R and Rscript analysis_local_adult.R in the "plotting_scripts" repository
  • Results are saved in plotting_scripts/data/graphs
You can’t perform that action at this time.