Skip to main content

AI Fairness and Explainability Toolkit

Python Version License: MIT Build Status Code style: black PyPI DOI

🌟 Overview

The AI Fairness and Explainability Toolkit is an open-source platform designed to evaluate, visualize, and improve AI models with a focus on fairness, explainability, and ethical considerations. Unlike traditional benchmarking tools that focus primarily on performance metrics, this toolkit helps developers understand and mitigate bias, explain model decisions, and ensure ethical AI deployment.

🎯 Mission

To democratize ethical AI development by providing tools that make fairness and explainability accessible to all developers, regardless of their expertise in ethics or advanced ML techniques.

✨ Key Features

  • Comprehensive Fairness Assessment: Evaluate models across different demographic groups using multiple fairness metrics
  • Bias Mitigation: Implement pre-processing, in-processing, and post-processing techniques
  • Interactive Visualization: Explore model behavior with interactive dashboards and plots
  • Model Comparison: Compare multiple models across fairness and performance metrics
  • Explainability Tools: Understand model decisions with various XAI techniques
  • Production-Ready: Easy integration with existing ML workflows
  • Extensible Architecture: Add custom metrics and visualizations

🚀 Quick Start

Installation

# Install from PyPI
pip install ai-fairness-toolkit

# Or install from source
pip install git+https://github.com/TaimoorKhan10/AI-Fairness-Explainability-Toolkit.git

Basic Usage

from ai_fairness_toolkit import FairnessAnalyzer, BiasMitigator, ModelExplainer
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import fetch_openml
import pandas as pd

# Load sample data
data = fetch_openml(data_id=1590, as_frame=True)
X, y = data.data, data.target

# Initialize analyzer
analyzer = FairnessAnalyzer(sensitive_features=X['sex'])

# Train a model
model = RandomForestClassifier()
model.fit(X, y)

# Evaluate fairness
results = analyzer.evaluate(model, X, y)
print(results.fairness_metrics)

# Generate interactive report
analyzer.visualize().show()

🏗️ Project Structure

ai-fairness-toolkit/
├── ai_fairness_toolkit/      # Main package
│   ├── core/                 # Core functionality
│   │   ├── metrics/          # Fairness and performance metrics
│   │   ├── bias_mitigation/  # Bias mitigation techniques
│   │   ├── explainers/       # Model explainability tools
│   │   └── visualization/    # Visualization components
│   ├── examples/             # Example notebooks
│   └── utils/                # Utility functions
├── tests/                    # Test suite
├── docs/                     # Documentation
├── examples/                 # Example scripts
└── scripts/                  # Utility scripts

🛠️ Technology Stack

  • Core: Python 3.8+
  • ML Frameworks: scikit-learn, TensorFlow, PyTorch
  • Visualization: Plotly, Matplotlib, Seaborn
  • Testing: pytest, pytest-cov
  • Documentation: Sphinx, ReadTheDocs
  • CI/CD: GitHub Actions

📚 Documentation

For detailed documentation, please visit ai-fairness-toolkit.readthedocs.io.

🤝 How to Contribute

We welcome contributions from the community! Here's how you can help:

  1. Report bugs: Submit issues on GitHub <<<<<<< HEAD
  2. Fix issues: Check out the good first issues =======
  3. Fix issues: Check out the good first issues

efb3c82aa74411c60ac4c0c280c3bc35156e58fc

  1. Add features: Implement new metrics or visualizations
  2. Improve docs: Help enhance our documentation
  3. Share feedback: Let us know how you're using the toolkit

Development Setup

# Clone the repository
git clone https://github.com/TaimoorKhan10/AI-Fairness-Explainability-Toolkit.git
cd AI-Fairness-Explainability-Toolkit

# Create and activate virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install development dependencies
pip install -e .[dev]

# Run tests
pytest

Code Style

We use Black for code formatting and flake8 for linting. Please ensure your code passes both before submitting a PR.

# Auto-format code
black .

# Run linter
flake8

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

📚 References

📬 Contact

<<<<<<< HEAD For questions or feedback, please open an issue on our GitHub repository.

For questions or feedback, please open an issue or contact taimoorkhaniajaznabi2@gmail.com

efb3c82aa74411c60ac4c0c280c3bc35156e58fc

🤝 Contributors

This project follows the all-contributors specification. Contributions of any kind welcome!

🗺️ Roadmap

  • Phase 1: Core fairness metrics and basic explainability tools
  • Phase 2: Interactive dashboards and visualization components
  • Phase 3: Advanced mitigation strategies and customizable metrics
  • Phase 4: Integration with CI/CD pipelines and MLOps workflows
  • Phase 5: Domain-specific extensions for healthcare, finance, etc.

📜 License

MIT License


AFET is currently in development. We're looking for contributors and early adopters to help shape the future of ethical AI evaluation!

Metadata

Release files for ai-fairness-toolkit 0.1.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 ai-fairness-toolkit 0.1.1
File Size Uploaded
ai_fairness_toolkit-0.1.1.tar.gz 43.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ai-fairness-toolkit 0.1.1
File Interpreter ABI Platform
ai_fairness_toolkit-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 100.6 kB

Release files / ai_fairness_toolkit-0.1.1.tar.gz

Download URL ai_fairness_toolkit-0.1.1.tar.gz
Size 43.9 kB
Tags Source
SHA-256 checksum
How to use checksums
7b9facda9de9f26e17179942aff9fc29ef299602c5787e9b394958f5307db646
BLAKE2b-256 checksum
How to use checksums
7c7aee546c3cd21a175f0468ea124b1f56026b13ec0aebf0624da48e287d1c5b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.9

Release files / ai_fairness_toolkit-0.1.1-py3-none-any.whl

Download URL ai_fairness_toolkit-0.1.1-py3-none-any.whl
Size 56.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
53db17549acc185329abad32a05c699b59ee58beb9256cd606000159244e2592
BLAKE2b-256 checksum
How to use checksums
f9bb67e5a20acbe4fcfafcfb85082c6fa0f1d1dcc3fe0df836d7c545ca2d3df9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.9

Release history Release notifications | RSS feed

This release

0.1.1 This release

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