Skip to main content

AI Verify SHAP Toolbox provides SHAP (SHapley Additive exPlanations) methods to explain the output of machine learning models.

Project description

Algorithm - SHAP Toolbox

Description

  • SHAP (SHapley Additive exPlanations) is a game theoretic approach to explain the output of any machine learning model. It connects optimal credit allocation with local explanations using the classic Shapley values from game theory and their related extensions (see papers for details and citations).

License

  • Licensed under Apache Software License 2.0

Developers:

  • AI Verify

Installation

Each test algorithm can now be installed via pip and run individually.

pip install aiverify-shap-toolbox==2.0.0a1

Example Usage:

Run the following bash script to execute the plugin

#!/bin/bash

root_path="<PATH_TO_FOLDER>/aiverify/stock-plugins/user_defined_files"
python -m aiverify_shap_toolbox \
    --data_path  $root_path/data/sample_bc_credit_data.sav \
    --model_path $root_path/model/sample_bc_credit_sklearn_linear.LogisticRegression.sav \ 
    --ground_truth_path $root_path/data/sample_bc_credit_data.sav \
    --ground_truth default \
    --model_type CLASSIFICATION \
    --no-run_pipeline \
    --background_path $root_path/data/sample_bc_credit_data.sav \
    --background_samples 25 \
    --data_samples 25 \
    --explain_type global

If the algorithm runs successfully, the results of the test will be saved in an output folder.

Develop plugin locally

Execute the bash script below in the project root

#!/bin/bash

# setup virtual environment
python -m venv .venv
source .venv/bin/activate

# execute plugin
cd aiverify/stock-plugins/aiverify.stock.shap-toolbox/algorithms/shap_toolbox/
# install aiverify-test-engine 
pip install -e '.[dev]'

python -m aiverify_shap_toolbox --data_path  <data_path> --model_path <model_path> --ground_truth_path <ground_truth_path> --ground_truth <str> --model_type CLASSIFICATION --run_pipeline --background_path <background_path> --background_samples <number> --data_samples <number> --explain_type <str>

Build Plugin

cd aiverify/stock-plugins/aiverify.stock.shap-toolbox/algorithms/shap_toolbox/
hatch build

Tests

Pytest is used as the testing framework.

Run the following steps to execute the unit and integration tests inside the tests/ folder

cd aiverify/stock-plugins/aiverify.stock.shap-toolbox/algorithms/shap_toolbox/
pytest .

Run using Docker

In the aiverify root directory, run the below command to build the docker image

docker build -t aiverify-shap-toolbox:v2.0.0a1 -f stock-plugins/aiverify.stock.shap-toolbox/algorithms/shap_toolbox/Dockerfile .

Switch to the algorithm directory

cd stock-plugins/aiverify.stock.shap-toolbox/algorithms/shap_toolbox/

Run the below bash script to run the algorithm

#!/bin/bash

root_path="<PATH_TO_FOLDER>/aiverify/stock-plugins/user_defined_files"
docker run \
  -v $root_path:/user_defined_files \
  -v ./output:/app/aiverify/stock-plugins/aiverify.stock.shap-toolbox/algorithms/shap_toolbox/output \
  aiverify-shap-toolbox:v2.0.0a1 \
  --data_path /user_defined_files/data/sample_bc_credit_data.sav \
  --model_path /user_defined_files/model/sample_bc_credit_sklearn_linear.LogisticRegression.sav \
  --ground_truth_path /user_defined_files/data/sample_bc_credit_data.sav \
  --ground_truth default \
  --model_type CLASSIFICATION \
  --no-run_pipeline \
  --background_path /user_defined_files/data/sample_bc_credit_data.sav \
  --background_samples 25 \
  --data_samples 25 \
  --explain_type global

If the algorithm runs successfully, the results of the test will be saved in an output folder in the algorithm directory.

Tests

Pytest is used as the testing framework.

Run the following steps to execute the unit and integration tests inside the tests/ folder

docker run --entrypoint python3 aiverify-shap-toolbox:v2.0.0a1 -m pytest .

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

aiverify_shap_toolbox-2.0.0a1.tar.gz (24.3 kB view details)

Uploaded Source

Built Distribution

aiverify_shap_toolbox-2.0.0a1-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

File details

Details for the file aiverify_shap_toolbox-2.0.0a1.tar.gz.

File metadata

File hashes

Hashes for aiverify_shap_toolbox-2.0.0a1.tar.gz
Algorithm Hash digest
SHA256 fc61c6c99cf5ae41eb0ea2ee549d0606e43cc2b2123ef734d04da565bb1b70a2
MD5 b235a27910c55fc73d11d63d23ee28a9
BLAKE2b-256 fef4e172befe97cbc8d9b5e4db4c11f843777691583695afa3cf0e957a29c1c1

See more details on using hashes here.

File details

Details for the file aiverify_shap_toolbox-2.0.0a1-py3-none-any.whl.

File metadata

File hashes

Hashes for aiverify_shap_toolbox-2.0.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 899a06a0c61ff668321ff0de86bceef6318df8904ad4a721a75ddcb4455ba5aa
MD5 86baf8bad56415d796060c331752a0e3
BLAKE2b-256 260e3ecf0f29bffafae672893f83d3a40e4bd9816fcb9dccc648c06530e653ae

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