Skip to main content

A Python Toolbox for Algorithmic Fairness, Accountability and Transparency

Project description

Software

Licence GitHubRelease PyPi Python35

Docs

Homepage

CI

GitHubTests GitHubDocs Codecov

Try it

Binder

Contact

MailingList Gitter

Cite

BibTeX JOSS ZENODO

FAT Forensics: Algorithmic Fairness, Accountability and Transparency Toolbox

FAT Forensics (fatf) is a Python toolbox for evaluating fairness, accountability and transparency of predictive systems. It is built on top of SciPy and NumPy, and is distributed under the 3-Clause BSD license (new BSD).

FAT Forensics implements the state of the art fairness, accountability and transparency (FAT) algorithms for the three main components of any data modelling pipeline: data (raw data and features), predictive models and model predictions. We envisage two main use cases for the package, each supported by distinct features implemented to support it: an interactive research mode aimed at researchers who may want to use it for an exploratory analysis and a deployment mode aimed at practitioners who may want to use it for monitoring FAT aspects of a predictive system.

Please visit the project’s web site https://fat-forensics.org for more details.

Installation

Dependencies

FAT Forensics requires Python 3.5 or higher and the following dependencies:

Package

Version

NumPy

>=1.10.0

SciPy

>=0.13.3

In addition, some of the modules require optional dependencies:

fatf module

Package

Version

fatf.transparency.predictions.surrogate_explainers

scikit-learn

>=0.19.2

fatf.transparency.predictions.surrogate_image_explainers

fatf.transparency.sklearn

fatf.utils.data.feature_selection.sklearn

fatf.transparency.predictions.surrogate_image_explainers

scikit-image

>=0.17.0

fatf.utils.data.occlusion

fatf.utils.data.segmentation

fatf.transparency.predictions.surrogate_image_explainers

Pillow

>=8.4.0

fatf.utils.data.occlusion

fatf.utils.data.segmentation

fatf.vis

matplotlib

>=3.0.0

User Installation

The easies way to install FAT Forensics is via pip:

pip install fat-forensics

which will only installed the required dependencies. If you want to install the package together with all the auxiliary dependencies please consider using the [all] option:

pip install fat-forensics[all]

The documentation provides more detailed installation instructions.

Changelog

See the changelog for a development history and project milestones.

Development

We welcome new contributors of all experience levels. The Development Guide has detailed information about contributing code, documentation, tests and more. Some basic development instructions are included below.

Source Code

You can check out the latest FAT Forensics source code via git with the command:

git clone https://github.com/fat-forensics/fat-forensics.git

Contributing

To learn more about contributing to FAT Forensics, please see our Contributing Guide.

Testing

You can launch the test suite from the root directory of this repository with:

make test-with-code-coverage

To run the tests you will need to have version 3.9.1 of pytest installed. This package, together with other development dependencies, can be also installed with:

pip install -r requirements-dev.txt

or with:

pip install fat-forensics[dev]

See the Testing section of the Development Guide page for more information.

Please note that the make test-with-code-coverage command will test the version of the package in the local fatf directory and not the one installed since the pytest command is preceded by PYTHONPATH=./. If you want to test the installed version, consider using the command from the Makefile without the PYTHONPATH variable.

To control the randomness during the tests the Makefile sets the random seed to 42 by preceding each test command with FATF_SEED=42, which sets the environment variable responsible for that. More information about the setup of the Testing Environment is available on the development web page in the documentation.

Submitting a Pull Request

Before opening a Pull Request, please have a look at the Contributing page to make sure that your code complies with our guidelines.

Help and Support

For help please have a look at our documentation web page, especially the Getting Started page.

Communication

You can reach out to us at:

  • our gitter channel for code-related development discussion; and

  • our mailing list for discussion about the project’s future and the direction of the development.

More information about the communication can be found in our documentation on the main page and on the develop page.

Citation

If you use FAT Forensics in a scientific publication, we would appreciate citations! Information on how to cite use is available on the citation web page in our documentation.

Acknowledgements

This project is the result of a collaborative research agreement between Thales and the University of Bristol with the initial funding provided by Thales.

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

FAT-Forensics-0.1.2.tar.gz (173.4 kB view details)

Uploaded Source

Built Distribution

FAT_Forensics-0.1.2-py3-none-any.whl (212.1 kB view details)

Uploaded Python 3

File details

Details for the file FAT-Forensics-0.1.2.tar.gz.

File metadata

  • Download URL: FAT-Forensics-0.1.2.tar.gz
  • Upload date:
  • Size: 173.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.14.0 pkginfo/1.8.3 requests/2.28.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.64.1 CPython/3.7.13

File hashes

Hashes for FAT-Forensics-0.1.2.tar.gz
Algorithm Hash digest
SHA256 1372aa26f57b41f7e2e05b2290bef68595aa619f6456925c17bbf61ff162d043
MD5 2b92c900cd8b5a5715c26e71de7ce001
BLAKE2b-256 93647224c86967079119ca5b8a23a9f6d84fded9af9fa5148dea25189e598796

See more details on using hashes here.

File details

Details for the file FAT_Forensics-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: FAT_Forensics-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 212.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.14.0 pkginfo/1.8.3 requests/2.28.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.64.1 CPython/3.7.13

File hashes

Hashes for FAT_Forensics-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7679c3c58e7bd0b2dbc2fe1b2eac72b91e38c3fadf8e9d01a0a10668ad86d2e2
MD5 c6ea770bffb35d3cfb54f114b297c342
BLAKE2b-256 8014e92c054e29dde4c0157bcb4e59aa8d4458dbcbfdd394ee19f98cfefd1139

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