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

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

Assuming aiverify-test-engine has already been installed in the virtual environment, run the following bash script to install the plugin and execute a test:

#!/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 -f stock-plugins/aiverify.stock.shap-toolbox/algorithms/shap_toolbox/Dockerfile .

Run the below bash script to run the algorithm

#!/bin/bash
docker run \
  -v $(pwd)/stock-plugins/user_defined_files:/input \
  -v $(pwd)/stock-plugins/aiverify.stock.shap-toolbox/algorithms/shap_toolbox/output:/app/aiverify/output \
  aiverify-shap-toolbox \
  --data_path /input/data/sample_bc_credit_data.sav \
  --model_path /input/model/sample_bc_credit_sklearn_linear.LogisticRegression.sav \
  --ground_truth_path /input/data/sample_bc_credit_data.sav \
  --ground_truth default \
  --model_type CLASSIFICATION \
  --no-run_pipeline \
  --background_path /input/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 \
  -w /app/aiverify/stock-plugins/aiverify.stock.shap-toolbox/algorithms/shap_toolbox \
  aiverify-shap-toolbox \
  -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.2.1.tar.gz (23.6 kB view details)

Uploaded Source

Built Distribution

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

aiverify_shap_toolbox-2.2.1-py3-none-any.whl (26.3 kB view details)

Uploaded Python 3

File details

Details for the file aiverify_shap_toolbox-2.2.1.tar.gz.

File metadata

  • Download URL: aiverify_shap_toolbox-2.2.1.tar.gz
  • Upload date:
  • Size: 23.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.5 cpython/3.11.15 HTTPX/0.28.1

File hashes

Hashes for aiverify_shap_toolbox-2.2.1.tar.gz
Algorithm Hash digest
SHA256 8bb3e931ba8f4df4cc5658be6308757a942bf57df8176952ae03938476403383
MD5 4a6873b348fc83ad900bc185183bc239
BLAKE2b-256 5ec7e7a7a0bb79aad106c1dc788da87b88c08977a30c1059eaf82139c641c666

See more details on using hashes here.

File details

Details for the file aiverify_shap_toolbox-2.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for aiverify_shap_toolbox-2.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9c964f9608b0527514340b27b590ab7c45a9c956aa7dc4e6635aa2aa1a2a427e
MD5 e7af94384f5939edd1eb81e02abb8097
BLAKE2b-256 558174df63ca322c626050630c9d14531087fa9e94dde9dfd4f4937bff919560

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