Software | |
Docs | |
CI | |
Try it | |
Contact | |
Cite |
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.
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.sklearn |
||
fatf.utils.data.feature_selection.sklearn |
||
fatf.vis |
matplotlib | >=3.0.0 |
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.
See the changelog for a development history and project milestones.
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.
- Project's web site and documentation: https://fat-forensics.org.
- Official source code repository: https://github.com/fat-forensics/fat-forensics.
- FAT Forensics releases: https://pypi.org/project/fat-forensics.
- Issue tracker: https://github.com/fat-forensics/fat-forensics/issues.
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
To learn more about contributing to FAT Forensics, please see our Contributing Guide.
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 localfatf
directory and not the one installed since the pytest command is preceded byPYTHONPATH=./
. If you want to test the installed version, consider using the command from theMakefile
without thePYTHONPATH
variable.To control the randomness during the tests the
Makefile
sets the random seed to42
by preceding each test command withFATF_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.
Before opening a Pull Request, please have a look at the Contributing page to make sure that your code complies with our guidelines.
For help please have a look at our documentation web page, especially the Getting Started page.
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.
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.
This project is the result of a collaborative research agreement between Thales and the University of Bristol with the initial funding provided by Thales.