Skip to main content

Fair-Scoring

Fairness metrics for continuous risk scores.

The implemented algorithms are described in the paper [1].

Project Links

Documentation | PyPI | Paper

Quickstart

Installation

Install with pip directly:

pip install fair-scoring

Example Usage

The following example shows how compute the equal opportunity bias of the compas dataset

import pandas as pd
from fairscoring.metrics import bias_metric_eo

# Load compas data
dataURL = 'https://raw.githubusercontent.com/propublica/compas-analysis/master/compas-scores-two-years.csv'
df = pd.read_csv(dataURL)

# Relevant data
scores = df['decile_score']
target = df['two_year_recid']
attribute = df['race']

# Compute the bias
bias = bias_metric_eo(scores, target, attribute, groups=['African-American', 'Caucasian'], favorable_target=0,
                      prefer_high_scores=False)

Further examples

Further examples - especially the experiments conducted for the publication - can be found in the documentation.

Development

Setup

Clone the repository and install from this source via

pip install -e .[dev]

Tests

To execute the tests install the package in development mode (see above)

pytest

Following the pytest framework, tests for each package are located in a subpackages named test

Docs

To build the docs move to the ./docs subfolder and call

make clean
make html

References

[1] Becker, A.-K. and Dumitrasc, O. and Broelemann, K.; Standardized Interpretable Fairness Measures for Continuous Risk Scores; Proceedings of the 41th International Conference on Machine Learning, 2024; pdf

Bibtex

@inproceedings{Becker2024FairScoring,
    author = {Ann{-}Kristin Becker and Oana Dumitrasc and Klaus Broelemann}
    title  = {Standardized Interpretable Fairness Measures for Continuous Risk Scores},
    booktitle={Proceedings of the 41th International Conference on Machine Learning},
    year = {2024}
}

Release files for fair-scoring 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fair-scoring 0.2.1
File Size Uploaded
fair_scoring-0.2.1.tar.gz 395.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fair-scoring 0.2.1
File Interpreter ABI Platform
fair_scoring-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 425.2 kB

Release files / fair_scoring-0.2.1.tar.gz

Download URL fair_scoring-0.2.1.tar.gz
Size 395.9 kB
Tags Source
SHA-256 checksum
How to use checksums
cb376dace0a8088cb4421aa07efc6bcd11d07ef7474f8a75859845c2354e6c0e
BLAKE2b-256 checksum
How to use checksums
5402fee499beea47a6fb5f98a10b5d9032d52ebbe94fd45629042b65d1dc01c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.10.14

Release files / fair_scoring-0.2.1-py3-none-any.whl

Download URL fair_scoring-0.2.1-py3-none-any.whl
Size 29.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4016ae42f7e8064f171c85a892f82b6ae0db9a38f02bb9e124ce21cbe5888e3d
BLAKE2b-256 checksum
How to use checksums
2b1f9d76773f994e7da0cd1d1abcae5a2b763ca9c725599b3a056393b810a559
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.10.14

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page