Skip to main content

A unified approach to explain the output of any machine learning model.

Project description


PyPI Conda License Tests Binder Documentation Status Downloads PyPI pyversions

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).

Install

SHAP can be installed from either PyPI or conda-forge:

pip install shap
or
conda install -c conda-forge shap

Tree ensemble example (XGBoost/LightGBM/CatBoost/scikit-learn/pyspark models)

While SHAP can explain the output of any machine learning model, we have developed a high-speed exact algorithm for tree ensemble methods (see our Nature MI paper). Fast C++ implementations are supported for XGBoost, LightGBM, CatBoost, scikit-learn and pyspark tree models:

import xgboost
import shap

# train an XGBoost model
X, y = shap.datasets.california()
model = xgboost.XGBRegressor().fit(X, y)

# explain the model's predictions using SHAP
# (same syntax works for LightGBM, CatBoost, scikit-learn, transformers, Spark, etc.)
explainer = shap.Explainer(model)
shap_values = explainer(X)

# visualize the first prediction's explanation
shap.plots.waterfall(shap_values[0])

The above explanation shows features each contributing to push the model output from the base value (the average model output over the training dataset we passed) to the model output. Features pushing the prediction higher are shown in red, those pushing the prediction lower are in blue. Another way to visualize the same explanation is to use a force plot (these are introduced in our Nature BME paper):

# visualize the first prediction's explanation with a force plot
shap.plots.force(shap_values[0])

If we take many force plot explanations such as the one shown above, rotate them 90 degrees, and then stack them horizontally, we can see explanations for an entire dataset (in the notebook this plot is interactive):

# visualize all the training set predictions
shap.plots.force(shap_values[:500])

To understand how a single feature effects the output of the model we can plot the SHAP value of that feature vs. the value of the feature for all the examples in a dataset. Since SHAP values represent a feature's responsibility for a change in the model output, the plot below represents the change in predicted house price as the latitude changes. Vertical dispersion at a single value of latitude represents interaction effects with other features. To help reveal these interactions we can color by another feature. If we pass the whole explanation tensor to the color argument the scatter plot will pick the best feature to color by. In this case it picks longitude.

# create a dependence scatter plot to show the effect of a single feature across the whole dataset
shap.plots.scatter(shap_values[:, "Latitude"], color=shap_values)

To get an overview of which features are most important for a model we can plot the SHAP values of every feature for every sample. The plot below sorts features by the sum of SHAP value magnitudes over all samples, and uses SHAP values to show the distribution of the impacts each feature has on the model output. The color represents the feature value (red high, blue low). This reveals for example that higher median incomes increases the predicted home price.

# summarize the effects of all the features
shap.plots.beeswarm(shap_values)

We can also just take the mean absolute value of the SHAP values for each feature to get a standard bar plot (produces stacked bars for multi-class outputs):

shap.plots.bar(shap_values)

Natural language example (transformers)

SHAP has specific support for natural language models like those in the Hugging Face transformers library. By adding coalitional rules to traditional Shapley values we can form games that explain large modern NLP model using very few function evaluations. Using this functionality is as simple as passing a supported transformers pipeline to SHAP:

import transformers
import shap

# load a transformers pipeline model
model = transformers.pipeline('sentiment-analysis', return_all_scores=True)

# explain the model on two sample inputs
explainer = shap.Explainer(model)
shap_values = explainer(["What a great movie! ...if you have no taste."])

# visualize the first prediction's explanation for the POSITIVE output class
shap.plots.text(shap_values[0, :, "POSITIVE"])

Deep learning example with DeepExplainer (TensorFlow/Keras models)

Deep SHAP is a high-speed approximation algorithm for SHAP values in deep learning models that builds on a connection with DeepLIFT described in the SHAP NIPS paper. The implementation here differs from the original DeepLIFT by using a distribution of background samples instead of a single reference value, and using Shapley equations to linearize components such as max, softmax, products, divisions, etc. Note that some of these enhancements have also been since integrated into DeepLIFT. TensorFlow models and Keras models using the TensorFlow backend are supported (there is also preliminary support for PyTorch):

# ...include code from https://github.com/keras-team/keras/blob/master/examples/demo_mnist_convnet.py

import shap
import numpy as np

# select a set of background examples to take an expectation over
background = x_train[np.random.choice(x_train.shape[0], 100, replace=False)]

# explain predictions of the model on four images
e = shap.DeepExplainer(model, background)
# ...or pass tensors directly
# e = shap.DeepExplainer((model.layers[0].input, model.layers[-1].output), background)
shap_values = e.shap_values(x_test[1:5])

# plot the feature attributions
shap.image_plot(shap_values, -x_test[1:5])

The plot above explains ten outputs (digits 0-9) for four different images. Red pixels increase the model's output while blue pixels decrease the output. The input images are shown on the left, and as nearly transparent grayscale backings behind each of the explanations. The sum of the SHAP values equals the difference between the expected model output (averaged over the background dataset) and the current model output. Note that for the 'zero' image the blank middle is important, while for the 'four' image the lack of a connection on top makes it a four instead of a nine.

Deep learning example with GradientExplainer (TensorFlow/Keras/PyTorch models)

Expected gradients combines ideas from Integrated Gradients, SHAP, and SmoothGrad into a single expected value equation. This allows an entire dataset to be used as the background distribution (as opposed to a single reference value) and allows local smoothing. If we approximate the model with a linear function between each background data sample and the current input to be explained, and we assume the input features are independent then expected gradients will compute approximate SHAP values. In the example below we have explained how the 7th intermediate layer of the VGG16 ImageNet model impacts the output probabilities.

from keras.applications.vgg16 import VGG16
from keras.applications.vgg16 import preprocess_input
import keras.backend as K
import numpy as np
import json
import shap

# load pre-trained model and choose two images to explain
model = VGG16(weights='imagenet', include_top=True)
X,y = shap.datasets.imagenet50()
to_explain = X[[39,41]]

# load the ImageNet class names
url = "https://s3.amazonaws.com/deep-learning-models/image-models/imagenet_class_index.json"
fname = shap.datasets.cache(url)
with open(fname) as f:
    class_names = json.load(f)

# explain how the input to the 7th layer of the model explains the top two classes
def map2layer(x, layer):
    feed_dict = dict(zip([model.layers[0].input], [preprocess_input(x.copy())]))
    return K.get_session().run(model.layers[layer].input, feed_dict)
e = shap.GradientExplainer(
    (model.layers[7].input, model.layers[-1].output),
    map2layer(X, 7),
    local_smoothing=0 # std dev of smoothing noise
)
shap_values,indexes = e.shap_values(map2layer(to_explain, 7), ranked_outputs=2)

# get the names for the classes
index_names = np.vectorize(lambda x: class_names[str(x)][1])(indexes)

# plot the explanations
shap.image_plot(shap_values, to_explain, index_names)

Predictions for two input images are explained in the plot above. Red pixels represent positive SHAP values that increase the probability of the class, while blue pixels represent negative SHAP values the reduce the probability of the class. By using ranked_outputs=2 we explain only the two most likely classes for each input (this spares us from explaining all 1,000 classes).

Model agnostic example with KernelExplainer (explains any function)

Kernel SHAP uses a specially-weighted local linear regression to estimate SHAP values for any model. Below is a simple example for explaining a multi-class SVM on the classic iris dataset.

import sklearn
import shap
from sklearn.model_selection import train_test_split

# print the JS visualization code to the notebook
shap.initjs()

# train a SVM classifier
X_train,X_test,Y_train,Y_test = train_test_split(*shap.datasets.iris(), test_size=0.2, random_state=0)
svm = sklearn.svm.SVC(kernel='rbf', probability=True)
svm.fit(X_train, Y_train)

# use Kernel SHAP to explain test set predictions
explainer = shap.KernelExplainer(svm.predict_proba, X_train, link="logit")
shap_values = explainer.shap_values(X_test, nsamples=100)

# plot the SHAP values for the Setosa output of the first instance
shap.force_plot(explainer.expected_value[0], shap_values[0][0,:], X_test.iloc[0,:], link="logit")

The above explanation shows four features each contributing to push the model output from the base value (the average model output over the training dataset we passed) towards zero. If there were any features pushing the class label higher they would be shown in red.

If we take many explanations such as the one shown above, rotate them 90 degrees, and then stack them horizontally, we can see explanations for an entire dataset. This is exactly what we do below for all the examples in the iris test set:

# plot the SHAP values for the Setosa output of all instances
shap.force_plot(explainer.expected_value[0], shap_values[0], X_test, link="logit")

SHAP Interaction Values

SHAP interaction values are a generalization of SHAP values to higher order interactions. Fast exact computation of pairwise interactions are implemented for tree models with shap.TreeExplainer(model).shap_interaction_values(X). This returns a matrix for every prediction, where the main effects are on the diagonal and the interaction effects are off-diagonal. These values often reveal interesting hidden relationships, such as how the increased risk of death peaks for men at age 60 (see the NHANES notebook for details):

Sample notebooks

The notebooks below demonstrate different use cases for SHAP. Look inside the notebooks directory of the repository if you want to try playing with the original notebooks yourself.

TreeExplainer

An implementation of Tree SHAP, a fast and exact algorithm to compute SHAP values for trees and ensembles of trees.

DeepExplainer

An implementation of Deep SHAP, a faster (but only approximate) algorithm to compute SHAP values for deep learning models that is based on connections between SHAP and the DeepLIFT algorithm.

GradientExplainer

An implementation of expected gradients to approximate SHAP values for deep learning models. It is based on connections between SHAP and the Integrated Gradients algorithm. GradientExplainer is slower than DeepExplainer and makes different approximation assumptions.

LinearExplainer

For a linear model with independent features we can analytically compute the exact SHAP values. We can also account for feature correlation if we are willing to estimate the feature covariance matrix. LinearExplainer supports both of these options.

KernelExplainer

An implementation of Kernel SHAP, a model agnostic method to estimate SHAP values for any model. Because it makes no assumptions about the model type, KernelExplainer is slower than the other model type specific algorithms.

  • Census income classification with scikit-learn - Using the standard adult census income dataset, this notebook trains a k-nearest neighbors classifier using scikit-learn and then explains predictions using shap.

  • ImageNet VGG16 Model with Keras - Explain the classic VGG16 convolutional neural network's predictions for an image. This works by applying the model agnostic Kernel SHAP method to a super-pixel segmented image.

  • Iris classification - A basic demonstration using the popular iris species dataset. It explains predictions from six different models in scikit-learn using shap.

Documentation notebooks

These notebooks comprehensively demonstrate how to use specific functions and objects.

Methods Unified by SHAP

  1. LIME: Ribeiro, Marco Tulio, Sameer Singh, and Carlos Guestrin. "Why should i trust you?: Explaining the predictions of any classifier." Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, 2016.

  2. Shapley sampling values: Strumbelj, Erik, and Igor Kononenko. "Explaining prediction models and individual predictions with feature contributions." Knowledge and information systems 41.3 (2014): 647-665.

  3. DeepLIFT: Shrikumar, Avanti, Peyton Greenside, and Anshul Kundaje. "Learning important features through propagating activation differences." arXiv preprint arXiv:1704.02685 (2017).

  4. QII: Datta, Anupam, Shayak Sen, and Yair Zick. "Algorithmic transparency via quantitative input influence: Theory and experiments with learning systems." Security and Privacy (SP), 2016 IEEE Symposium on. IEEE, 2016.

  5. Layer-wise relevance propagation: Bach, Sebastian, et al. "On pixel-wise explanations for non-linear classifier decisions by layer-wise relevance propagation." PloS one 10.7 (2015): e0130140.

  6. Shapley regression values: Lipovetsky, Stan, and Michael Conklin. "Analysis of regression in game theory approach." Applied Stochastic Models in Business and Industry 17.4 (2001): 319-330.

  7. Tree interpreter: Saabas, Ando. Interpreting random forests. http://blog.datadive.net/interpreting-random-forests/

Citations

The algorithms and visualizations used in this package came primarily out of research in Su-In Lee's lab at the University of Washington, and Microsoft Research. If you use SHAP in your research we would appreciate a citation to the appropriate paper(s):

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

shap-0.50.0.tar.gz (4.1 MB view details)

Uploaded Source

Built Distributions

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

shap-0.50.0-cp314-cp314t-musllinux_1_2_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

shap-0.50.0-cp314-cp314t-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

shap-0.50.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

shap-0.50.0-cp314-cp314t-macosx_11_0_arm64.whl (562.2 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

shap-0.50.0-cp314-cp314-win_amd64.whl (552.3 kB view details)

Uploaded CPython 3.14Windows x86-64

shap-0.50.0-cp314-cp314-musllinux_1_2_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

shap-0.50.0-cp314-cp314-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

shap-0.50.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

shap-0.50.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

shap-0.50.0-cp314-cp314-macosx_11_0_arm64.whl (555.6 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

shap-0.50.0-cp313-cp313-win_amd64.whl (549.1 kB view details)

Uploaded CPython 3.13Windows x86-64

shap-0.50.0-cp313-cp313-musllinux_1_2_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

shap-0.50.0-cp313-cp313-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

shap-0.50.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

shap-0.50.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

shap-0.50.0-cp313-cp313-macosx_11_0_arm64.whl (554.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

shap-0.50.0-cp313-cp313-macosx_10_13_x86_64.whl (558.2 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

shap-0.50.0-cp312-cp312-win_amd64.whl (549.3 kB view details)

Uploaded CPython 3.12Windows x86-64

shap-0.50.0-cp312-cp312-musllinux_1_2_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

shap-0.50.0-cp312-cp312-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

shap-0.50.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

shap-0.50.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

shap-0.50.0-cp312-cp312-macosx_11_0_arm64.whl (555.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

shap-0.50.0-cp312-cp312-macosx_10_13_x86_64.whl (558.9 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

shap-0.50.0-cp311-cp311-win_amd64.whl (548.0 kB view details)

Uploaded CPython 3.11Windows x86-64

shap-0.50.0-cp311-cp311-musllinux_1_2_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

shap-0.50.0-cp311-cp311-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

shap-0.50.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

shap-0.50.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

shap-0.50.0-cp311-cp311-macosx_11_0_arm64.whl (556.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

shap-0.50.0-cp311-cp311-macosx_10_9_x86_64.whl (558.4 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

File details

Details for the file shap-0.50.0.tar.gz.

File metadata

  • Download URL: shap-0.50.0.tar.gz
  • Upload date:
  • Size: 4.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for shap-0.50.0.tar.gz
Algorithm Hash digest
SHA256 bdc559acf7f647bc3bb22c6a1fea9f50716ed357ad595bc357b43082ae4dc6b9
MD5 f7520a0498418ade4468644f66e667e6
BLAKE2b-256 2b2c9ccbfbdf5ceeb914317f9691ef1fca3118d4a997eb5e79bcd8992f56c938

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0.tar.gz:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for shap-0.50.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 27d46d1001f74f6a28567992259150ec9d4ea895ff20b02db38c31d7f268a3c7
MD5 2e2448efbb5fa5f7f06e7ac43b234a80
BLAKE2b-256 d1d1a563b5fdc39b0c300a350d765f2133bafa9df0867061c1c8adda45cacd9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp314-cp314t-musllinux_1_2_x86_64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for shap-0.50.0-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6b23684d3cd86cecbfc52a47cad780b83d45f8c028368d1d4c9373a8aca822f8
MD5 3f59d443d231a2c02d0fd3070d9b56cf
BLAKE2b-256 ed49811a7b95f0d3dd654308984f56b34c4ed1712f6f483128f729bace80c243

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp314-cp314t-musllinux_1_2_aarch64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for shap-0.50.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 181a6cb1937ceab3da16e5bb43bc37c2556fffe58f783b12e0a9571172899cf7
MD5 bbed994b9313077b3c78a5ce4bcf7af7
BLAKE2b-256 72c9c58ec4122e0d1fbcfafd5a06bbd477240ba7a46cafafca42b817d423b1c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for shap-0.50.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 49966fa3f41113c76045b2c5a3415020a1dc643559526cb993fdaaf3b6b37352
MD5 c2469b4e90e158c1f7f7ea71021577be
BLAKE2b-256 7f635c2f0b832c5cd0874cfcfd1f4d947cc6bded45a4242b62ee087589cf98c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp314-cp314t-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: shap-0.50.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 552.3 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for shap-0.50.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 8d05f0c0c8d4f7752ae29098e72589437b3576df3434b16c418e6e0cfa2571cd
MD5 0d748c346eb104a7b0b40638cffdc2dd
BLAKE2b-256 40b73d30baa1bd0473c0114a2de26f26fb3b55968290fc842242f787b0bc2b2a

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp314-cp314-win_amd64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for shap-0.50.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2deb44e3fb8bce2c3c98be04617b1209c81f87d6e769f57c9b0cb1cea0761118
MD5 6ec74d2fffce5f9839da387c24f664a5
BLAKE2b-256 69d3d295efc01cc091a504f2c2a2040f1e965bb670eca4dba1582150b6885321

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp314-cp314-musllinux_1_2_x86_64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for shap-0.50.0-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 58d5aa9e802145ef21c596932ec28605d7ac4f879ac614c6106f4c7e31e60096
MD5 f90b897853490029ff8341e29b8c9af2
BLAKE2b-256 29d4deffc065a46600171f816b83a621cef81357ca8db579d031f569f681c7e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp314-cp314-musllinux_1_2_aarch64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for shap-0.50.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 96b1efc72393533a64dd3a3d524b4b13ab4a2752cd63e8c74167f59aa081e230
MD5 28343adbcb4abcec71d36c14dc401c56
BLAKE2b-256 29997253238d1e4c58628f0f985a75d4ce5c8de6022e25f709eba2e999d590bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for shap-0.50.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d82522fd5b050a261323021b4c17a1027296ec2dc3bf8550863fde3ddd0f9d68
MD5 7a82b96f9268d67e36c7a00de32baa6a
BLAKE2b-256 582268c831039e5798e994b46823a3a2d635d1d4e07ba9d9ebdff323a5c02f43

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for shap-0.50.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1fb30930986bda79ac3f2a4e4db5942d7874b2d917c717a2fdb9aa505e11dd20
MD5 5b20ae6d0dad939e94dada67d7ad63f4
BLAKE2b-256 5a088a58cf6d43be07cc99e8c16385c2e10fb070def22f50bff864bef101498b

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: shap-0.50.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 549.1 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for shap-0.50.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 84b3c2791c68d1d3186cedb15bde98b8efda643034dd0ecf5fa1b0f4e1265cb5
MD5 fc80749c17254d0141bcae5b3ce13d73
BLAKE2b-256 02485db93e86f3b77613ed2ef532f79bf8988d43e542444f3f59cad94fda853b

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp313-cp313-win_amd64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for shap-0.50.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cf267e854b0ce4b39c861f39d257f9dfb86704167eeb4db006c01f115dc37489
MD5 ceeacfa06b782354303d6793fadcde34
BLAKE2b-256 de04ee0f84f405c7a0070f46224bf4449a4fd32dcd5e799f20818ecb70e4591a

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for shap-0.50.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b35200f21f3f67c96cf19a819a60470d052281c8f3df7da13fed40fdf64ea469
MD5 9301b1220a90f0f68e4dd71c959b0b93
BLAKE2b-256 fa0092e91357c2ec3d8996e8a7d1f0592c6c2a69edd381087930cbb10dfa2807

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for shap-0.50.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a757c94cda0587edb727cbf08a4af819921ad42646b55833713c531ead75742d
MD5 dfa1f9236d4987e21e725898ad938f5f
BLAKE2b-256 6b6ac006de5df0e0f4850aa94019df1f79bf6a5342fa851ca85e4728691fd0c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for shap-0.50.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 96f8e01228d780ad2efbc67d3ae6d3ba2a4afe02e9e1519c891f67d641f0e17d
MD5 ab702fa73b8f0c1b40d862b68941bb1a
BLAKE2b-256 cfcd5e309071aca6c177a24fd4ced99cce36069234b2431e70a0919cc837c2a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for shap-0.50.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e9908af8d22d2be05f303ca8fed70fd845bbbe33190abac24b6cb1a89e294e20
MD5 183e54d332804909c5012ade7151e843
BLAKE2b-256 0cc720f79a21bc5b548d12c144ffce93e4afb4b6af8e1593b60ac6f1bf598383

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for shap-0.50.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 0249b10142c1205e7de994c6135178faaaabb6b12528382db1f8e1f2b902d207
MD5 6b6984ca2bbbe34b98ec44aa4cd2e26a
BLAKE2b-256 cade40120047779e2b6da8838bbf94c58e15c345aa5b7f805418da558a588d73

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: shap-0.50.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 549.3 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for shap-0.50.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1c9b534eb06d6b6d5f68257be2cc83be4e324aed89884876600ce86dcb6b1818
MD5 eae3edd87924b3ee0cb0566a9e964a2d
BLAKE2b-256 c129021db5e35636aae199a40cfdbb87794432bbe9660c5bdbff0867d754e400

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp312-cp312-win_amd64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for shap-0.50.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 404445e957d45ab9d35cbfaeea7184c95845e8a3caf92116ee702a218a34a124
MD5 e5740e35b9cbe9f47bbd7e73599a9dcb
BLAKE2b-256 06792562d6c053e45e77d20d9f131fb637a6c38276e4ec6f21a5f9be5a6a392e

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for shap-0.50.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 62cc66704db8c3439256089d2f3b29a42597d3c24bab1e245ed3800f7c4c4b2a
MD5 29fe5eda7473fbff4cc0873acbc8d901
BLAKE2b-256 91bf41c88a09204d77b0ca3ec1cd51efb9c87af24eb008e6e8d3c2df9a9048ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for shap-0.50.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d8419ff6515a1294bbf370d7f40853abe806046e0d102e405974bcf0821239d0
MD5 79d1e08301362aae9aab978cffb4baae
BLAKE2b-256 9c03aaa39d180a95edfb096e8c41b328d554d4c6e6069a1f76cde677ce516c1d

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for shap-0.50.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5aa229dd3bccd779ae12cee35d68db3366ae2af693b174b446f877898d4cc9ce
MD5 33802a9018885f67c7c80109b56ee235
BLAKE2b-256 22dac2de2259c98444394b73d3582b1bbd8db999d529e674fdbcacea295f3a4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for shap-0.50.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 146bafd501d9061fce78e8d927504b0c2a7254a102a17a016c2141adcfeb6170
MD5 bcafe5ecf9ad4f442690c3a3b407a448
BLAKE2b-256 3d6c2d7d2c26fe48e8878429a8d23dd5faa6d1043b98657922276a9be71d70cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for shap-0.50.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 166eb4f14e6fb82e6b9b9a178ac18d5a2798f42f13e9b8b0565450977ae58e0a
MD5 eecc2df2d8e365f72a92a6b4e97fce03
BLAKE2b-256 6a72aa9623c2aa1eb70a3aa23c1a823851cab227232964ab91e3280afa290b31

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: shap-0.50.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 548.0 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for shap-0.50.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f5d0e2df7142393791c10a201947ca06972eb3c599c48a33697ef6c405413267
MD5 f0f33e5a7bdd95683e1ead3393a0d789
BLAKE2b-256 770358e199cf59056d68b4a227ce4b2b09eeb0c9bd1d002b9e28fb574eed6200

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp311-cp311-win_amd64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for shap-0.50.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 807fc35ec82daba11da92d99607fbfc6471c211ec36b6329ae4611f355549bc8
MD5 1372e0063426229573bf407a3229cdee
BLAKE2b-256 9b4bc5e104b11f04a08bd18730c5b75900fccac781d793557e9703f82254fbed

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for shap-0.50.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8135bd24594f5fdf16f8fe5cbc2a81544c5c5c76f6b8a152eded16c361857da6
MD5 ac092f552386bea33ab408e1f2bb2af2
BLAKE2b-256 84a6fa0de80073efc607032a30edae53426baa1078d7c7d546ea2a8dd8c55408

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for shap-0.50.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e68f6129ddb59313da00d72843511352dc7e79512faec961644079504bbeb707
MD5 52aabfac63f3d69dc493e1c666ba8166
BLAKE2b-256 1bc15166e6a382d6c2b83abd25b5c70dcd984ca37bedd304abc98e5ca9c6968c

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for shap-0.50.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6a5ccc465c0f9e005dde341823b1cdad9dfcff6786f7d04e29606af6f2d51290
MD5 c67d0c1c015907798aa9cf2bae61b6fb
BLAKE2b-256 9191962c63a6c9fc90210573b2194f773c7efcff1db12b2d13f6698ce90db483

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for shap-0.50.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 30f1fe9e75a948386d7a444e910bc472f2febf04d0f2175b5c03db9d5e0c2724
MD5 23dc6834834081486d38c02af84444c1
BLAKE2b-256 11e0e0f9916c5a709f06645187aa6431a6a3b707a66c551f5a8e87d5b5d2e01f

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shap-0.50.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for shap-0.50.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 70a0e9c3b13a2b900ab4777a56d1e6cacddfd95f67cf382cdde24d376fbe13f4
MD5 695c6a550a46342611d091bf5ce3c7ca
BLAKE2b-256 9bae6231a667492887d775fddc0f248d48a9d6cc2cd981ea888217f0cd97acfa

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.50.0-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: build_wheels.yml on shap/shap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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