Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sakshiudeshi/Aequitas
Aequitas, a directed fairness testing framework machine learning models.
https://github.com/sakshiudeshi/Aequitas
machine-learning software-engineering software-testing
Last synced: about 1 month ago
JSON representation
Aequitas, a directed fairness testing framework machine learning models.
- Host: GitHub
- URL: https://github.com/sakshiudeshi/Aequitas
- Owner: sakshiudeshi
- Created: 2018-07-10T12:56:50.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-02-18T04:07:40.000Z (almost 3 years ago)
- Last Synced: 2024-08-05T21:28:19.536Z (5 months ago)
- Topics: machine-learning, software-engineering, software-testing
- Language: Python
- Homepage:
- Size: 2.46 MB
- Stars: 9
- Watchers: 5
- Forks: 10
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-algofairness - Aequitas
README
# Aequitas
We present Aequitas, a directed fairness testing framework machine learning models. See the paper [Automated Directed Fairness Testing](https://arxiv.org/abs/1807.00468) for more details.
## Prerequisites
* Python 2.7.15
* numpy 1.14.5
* scipy 1.1.0
* scikit-learn 1.19.0The authors used Pycharm CE 2017.2.3 as the development IDE.
## Background
There are 3 test generation strategies in our suite, namely Aequitas Random, Aequitas Semi-Directed and Aequitas Fully Directed. There are files to evaluate [Fair SVM](https://github.com/mbilalzafar/fair-classification) and Scikit-Learn classifiers trained on the same [dataset](http://archive.ics.uci.edu/ml/datasets/Adult).## Config
The [config](config.py) file has the following data:* params : The number of parameters in the data
* sensitive_param: The parameter under test.
* input_bounds: The bounds of each parameter
* classifier_name: Pickled scikit-learn classifier under test (only applicable to the sklearn files)
* threshold: Discrimination threshold.
* perturbation_unit: By what unit would the user like to perturb the input in the local search.
* retraining_inputs: Inputs to be used for the retraining. Please see [this file](Retrain_Example_File.txt).## Demo
`python `eg. `python Aequitas_Fully_Directed.py`
## Contact
* Please contact [email protected] for any comments/questions## Citation
If you use any part of this code, please cite the following paper```
@inproceedings{aequitas,
title={Automated directed fairness testing},
author={Udeshi, Sakshi and Arora, Pryanshu and Chattopadhyay, Sudipta},
booktitle={Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering},
pages={98--108},
year={2018}
}
```