Equipy is a tool for fast, online fairness calibration
Project description
![build passing](https://github.com/phi-ra/equnabc/actions/workflows/build-package.yml/badge.svg)
# EquiPy
EquiPy is a Python package implementing sequential fairness on the predicted outputs of Machine Learning models, when dealing with multiple sensitive attributes. This post-processing method progressively achieve fairness accross a set of sensitive features by leveraging multi-marginal Wasserstein barycenters, which extends the standard notion of Strong Demographic Parity to the case with multiple sensitive characteristics. This approach seamlessly extends to approximate fairness, enveloping a framework accommodating the trade-off between performance and unfairness.
The project was started in 2023 by François Hu, Philipp Ratz, Suzie Grondin, Agathe Fernandes Machado and Arthur Charpentier, following the release of this paper “A Sequentially Fair Mechanism for Multiple Sensitive Attributes” (https://arxiv.org/pdf/2309.06627.pdf), written by François Hu, Philipp Ratz and Arthur Charpentier.
## Installation
### Dependencies
EquiPy requires: * Numpy (>= 1.17.3) * Scipy (>= 1.5.0) * Scikit-learn (== 1.3.0) * Matplotlib (== 3.7.2) * Pandas (== 2.0.3) * Statsmodels (== 0.14.0) * Seaborn (== 0.12.2)
### User installation
To install EquiPy, use pip:
`console pip install equipy `
## Visualization
This package contains the module graphs which allows visualization of the resulting sequential fairness applied to a response variable.
![Alt text](https://github.com/a19ferna/equipy/blob/main/examples/arrow_plot.png) ![Alt text](https://github.com/a19ferna/equipy/blob/main/examples/waterfall_plot.png)
For further details, check the notebooks in the following folder: https://github.com/a19ferna/equipy/tree/main/equipy/tests.
## Help and support
### Communication
Mailing list: * hu.faugon@gmail.com * suzie.grondin@gmail.com * ratz.philipp@courrier.uqam.ca * fernandes_machado.agathe@courrier.uqam.ca * arthur.charpentier@gmail.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file equipy-0.0.1a0.dev0.tar.gz
.
File metadata
- Download URL: equipy-0.0.1a0.dev0.tar.gz
- Upload date:
- Size: 17.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec4deb6094c1f1aeef82b5e05b8b871d103c1349c37960c4ad8ef00942e36eca |
|
MD5 | edcfec7994bd845fa982b64e3f9db62a |
|
BLAKE2b-256 | 937240f0de10dfcc555d899616f925d2854017894be68aa1b94dcc3114b1c988 |
File details
Details for the file equipy-0.0.1a0.dev0-py3-none-any.whl
.
File metadata
- Download URL: equipy-0.0.1a0.dev0-py3-none-any.whl
- Upload date:
- Size: 22.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2acd7d5efc9e294299ae981f0242e785048ae5143280118edddb44fbbd9cb3bc |
|
MD5 | ba95b1bde284d317170259f98794f02d |
|
BLAKE2b-256 | 8e1f3f49bdf687abaaff418536b3e6564d0b3c3e816a90fe23929ff7973891f3 |