Skip to main content

Genetic Algorithm for Generating Metacounterfactual Explanations

Project description

\n# Manic: A Genetic Algorithm-based Metaheuristic Approach for Nature-Inspired Aggregation of Counterfactuals

Table of Contents

Introduction

Manic is a Python package that provides a genetic algorithm-based metaheuristic approach for aggregating counterfactual explanations. It implements a nature-inspired optimization technique to generate counterfactuals that explain the disagreement between different explainers. The goal is to find counterfactual instances that are both diverse and informative to enhance the interpretability of machine learning models.

Installation

To install Manic, use the following pip3 command:

pip3 install manic-xai

Usage

You can use Manic in your Python code as follows:

from manic import Manic

# Define your data_instance, base_counterfactuals, categorical_features, immutable_features, feature_ranges, data, and predict_fn

manic_instance = Manic(data_instance, base_counterfactuals, categorical_features, immutable_features, feature_ranges, data, predict_fn)

# Generate counterfactuals
counterfactuals = manic_instance.generate_counterfactuals()

Docker Instructions

To run Manic using Docker, follow these steps:

  1. Build the Docker image:
docker build -t manic .
  1. Run the Docker container
docker run -v /path/to/your/data:/data -it manic python3 your_script.py

Citation

If you use the Manic package in your research or work and find it helpful, we kindly request that you cite it using the following BibTeX entry:

@software{manic,
  author       = {Craig Pirie},
  title        = {Manic: A Genetic Algorithm-based Metaheuristic Approach for Nature-Inspired Aggregation of Counterfactuals},
  year         = {2023},
  publisher    = {GitHub},
  journal      = {GitHub repository},
  howpublished = {\url{https://github.com/your-username/manic}},
}

We appreciate your support and acknowledgment of our work.

Contact

For any inquiries or collaborations, please contact Craig Pirie at c.pirie11@rgu.ac.uk.

License

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

Contributions

Contributions to the Manic package are always welcome. If you find any issues or have ideas for improvements, please feel free to open an issue or submit a pull request on the GitHub repository. Together, we can make Manic better for everyone.

Changelog

For updates and a history of changes to the Manic package, please refer to the Changelog.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

manic-xai-1.0.39.tar.gz (23.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

manic_xai-1.0.39-py3-none-any.whl (36.8 kB view details)

Uploaded Python 3

File details

Details for the file manic-xai-1.0.39.tar.gz.

File metadata

  • Download URL: manic-xai-1.0.39.tar.gz
  • Upload date:
  • Size: 23.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for manic-xai-1.0.39.tar.gz
Algorithm Hash digest
SHA256 a8c62849495f3f871f30f2fdb2b7dff1ce1b71ea4f6c195a26849f5c5665a461
MD5 25420ca3d3e3d0f8d4835b0af107d513
BLAKE2b-256 830e5d834dfec7056aacd7f03859aedc8bfbab300fc42db45b38534a6b6eab84

See more details on using hashes here.

File details

Details for the file manic_xai-1.0.39-py3-none-any.whl.

File metadata

  • Download URL: manic_xai-1.0.39-py3-none-any.whl
  • Upload date:
  • Size: 36.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for manic_xai-1.0.39-py3-none-any.whl
Algorithm Hash digest
SHA256 f629e7bcd2cbd6f4d2272a981999af982ca2d7dc984f232fbaa42b7983934b5a
MD5 791e24730e38776af0c2f3994c4219ec
BLAKE2b-256 35a72deb1761a7cfb6ef40a7f42efb933876c6ffb2d8bfd52ee732a4096b4193

See more details on using hashes here.

Supported by

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