Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

equipy-0.0.1a0.dev0.tar.gz (17.4 kB view details)

Uploaded Source

Built Distribution

equipy-0.0.1a0.dev0-py3-none-any.whl (22.0 kB view details)

Uploaded Python 3

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

Hashes for equipy-0.0.1a0.dev0.tar.gz
Algorithm Hash digest
SHA256 ec4deb6094c1f1aeef82b5e05b8b871d103c1349c37960c4ad8ef00942e36eca
MD5 edcfec7994bd845fa982b64e3f9db62a
BLAKE2b-256 937240f0de10dfcc555d899616f925d2854017894be68aa1b94dcc3114b1c988

See more details on using hashes here.

File details

Details for the file equipy-0.0.1a0.dev0-py3-none-any.whl.

File metadata

File hashes

Hashes for equipy-0.0.1a0.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 2acd7d5efc9e294299ae981f0242e785048ae5143280118edddb44fbbd9cb3bc
MD5 ba95b1bde284d317170259f98794f02d
BLAKE2b-256 8e1f3f49bdf687abaaff418536b3e6564d0b3c3e816a90fe23929ff7973891f3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page