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 improves 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.47.0.tar.gz (2.5 MB view details)

Uploaded Source

Built Distributions

shap-0.47.0-cp312-cp312-win_amd64.whl (531.1 kB view details)

Uploaded CPython 3.12 Windows x86-64

shap-0.47.0-cp312-cp312-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

shap-0.47.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

shap-0.47.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (997.7 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

shap-0.47.0-cp312-cp312-macosx_11_0_arm64.whl (532.6 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

shap-0.47.0-cp312-cp312-macosx_10_9_x86_64.whl (540.6 kB view details)

Uploaded CPython 3.12 macOS 10.9+ x86-64

shap-0.47.0-cp311-cp311-win_amd64.whl (530.3 kB view details)

Uploaded CPython 3.11 Windows x86-64

shap-0.47.0-cp311-cp311-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

shap-0.47.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

shap-0.47.0-cp311-cp311-macosx_11_0_arm64.whl (532.0 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

shap-0.47.0-cp311-cp311-macosx_10_9_x86_64.whl (539.2 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

shap-0.47.0-cp310-cp310-win_amd64.whl (530.1 kB view details)

Uploaded CPython 3.10 Windows x86-64

shap-0.47.0-cp310-cp310-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

shap-0.47.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (978.0 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

shap-0.47.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (971.1 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

shap-0.47.0-cp310-cp310-macosx_11_0_arm64.whl (532.2 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

shap-0.47.0-cp310-cp310-macosx_10_9_x86_64.whl (539.2 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

shap-0.47.0-cp39-cp39-win_amd64.whl (530.6 kB view details)

Uploaded CPython 3.9 Windows x86-64

shap-0.47.0-cp39-cp39-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

shap-0.47.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (980.2 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

shap-0.47.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (973.8 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

shap-0.47.0-cp39-cp39-macosx_11_0_arm64.whl (532.8 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

shap-0.47.0-cp39-cp39-macosx_10_9_x86_64.whl (539.8 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for shap-0.47.0.tar.gz
Algorithm Hash digest
SHA256 e1f78d885bf4ac388b0030c8ecc35529411650b78d6caa814e2a6e281f7ab395
MD5 ea8629a13b660027423d731e3b8b96df
BLAKE2b-256 e3505994bca3d366bb807d833e29905448cad4240a5d3f1dea49fd917e5d5c8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.47.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.47.0-cp312-cp312-win_amd64.whl.

File metadata

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

File hashes

Hashes for shap-0.47.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ebdd66a95217aa0819e85e4181a27749d7efcf2c742a6df7b242ab754f8ab53f
MD5 ef7e259276102e1fb4245daaadbc960c
BLAKE2b-256 b0bf34101a5d3afa57b4e406232001447f53f4260708f1dab4519dccff91e379

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.47.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.47.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for shap-0.47.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f50c7fb3b06c0b01d99d3134231907489b1ae3c5921bff3c2a8353348306d106
MD5 4e3fb6be14c83f8dee1d0bcae4195ae0
BLAKE2b-256 632c2cd74709a65efb9a9d97eed7eafe9a6feb3db01709354bc89f3f747f24f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.47.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.47.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for shap-0.47.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 faa5021da57b51706f5eefd2d9f1c375542ac61583475fe32179be3d16b60785
MD5 74ec32cb43ea47c69e4ea2382c9f7fbe
BLAKE2b-256 ca758f2a2ce3a5490bdf77b10895bc706d7451a386874213ab2b1f517b7b2908

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.47.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_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.47.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for shap-0.47.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6c11d67b12858ff69b71b7f05c8d0dc85d7e3fe2840b8ec877d1aef79fac3272
MD5 2d741ab36e71fc1e00aff68c31f29787
BLAKE2b-256 c75a993c4b52e80ead65a1008effa6936a8d43e8a1dcda9cc22df4cf6d0e1f80

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.47.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_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.47.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for shap-0.47.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dc4adc136348ce6f85eb4644b2b83ecb6a6d49f554f7040511a99a6497131900
MD5 eb58876f449ba3dab09c8afb00d8e8d9
BLAKE2b-256 c6693be8fdbe65a6ce0293b57bd3d7397a66a39f0564538df2c797cdffa23d55

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.47.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.47.0-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for shap-0.47.0-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 25126cf0bc5dd22721225bc46c2bb77fdf3ddddd951560a7252fc8161c031049
MD5 057075d7534fb40c428a0d2c90c24815
BLAKE2b-256 c073f2d20d88a698098e3f478062d4f5c42d46d547c2ec05fb39100526e94d8e

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.47.0-cp312-cp312-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.

File details

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

File metadata

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

File hashes

Hashes for shap-0.47.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7d2e306afbed24446253f5ebe84f51bb9d7a533fa7f959f60e040bb546526f54
MD5 a20930ca63224e3e4502e888040c9c66
BLAKE2b-256 77d45f91c30caa32fa82364d716be900b060118232a946e7b0f456f4c56321a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.47.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.47.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for shap-0.47.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a1e3a97c0745e619a3e14026764102e64dfa4fd1da15b883ef82f31e915773a7
MD5 cee2bf4b067bba1110bc911a66940dbf
BLAKE2b-256 7fb42f62c51efcb5cf3cbfb121ece1b397711a26d8078e483dd5f5b5a7257005

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.47.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.47.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for shap-0.47.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 270a15edbec650e35ecdb9c2801f9dfa44dcd4ecc950c2e836a0844fbd57c69e
MD5 b1bc0c86fc23a61dfe7d27c94e31c454
BLAKE2b-256 101ac2493495515f8efd9dfed1d3fe65f704b965c86d83a6a0da8279e80079f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.47.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_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.47.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for shap-0.47.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3e8f060a065df8f1fab67255c10bea54712ebfe6335c55aef8c16961188b8798
MD5 484121703e9d50a909f04e74f918b86d
BLAKE2b-256 5bd99817a610ffb2cde87211053b87825920bea026557a7f9a3018973bd068e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.47.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_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.47.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for shap-0.47.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b667d1b10f8908cad93d9c9facc061ae46222e9e10ddd704bb9d9d859ca23287
MD5 c7682666dfa5d4d7aacc58786f9f1744
BLAKE2b-256 e6d760f796b8a5a24a01a817beb45ce229e6932cd9b371ed4b399ca9bfde98f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.47.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.47.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for shap-0.47.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 aa357e5e517335cb6dc559f869fa726b6ad0a2936250f74db93869c1a267bc88
MD5 db778cd048aeaf07282f0cedb5bdb2ad
BLAKE2b-256 89fa7c84d9f45d8407d8f32ba01a0c5ea5c1a9307430cde0c0281af2361b5af6

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.47.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.

File details

Details for the file shap-0.47.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: shap-0.47.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 530.1 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for shap-0.47.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 cb917458a3a461b869eeb2bf9a9472241d09b0c54b62e0cfdd6d90ff280c141d
MD5 fadfd29fe517618041cd5fd66903dce2
BLAKE2b-256 33d7436a40d82e5ca8f2291ee0c4dc619b4d43b37c9bf022a1e6cf8263c1642b

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.47.0-cp310-cp310-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.47.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for shap-0.47.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 25f989d4afae666d1a7b12f3a19ab4df2bccfa7dc060e8e4ec9b5357c7431af5
MD5 1dfd7ede7f09da9374532c7acf6eb99c
BLAKE2b-256 d21a01519514b5c512f1eef16d0ed8d2cf01307dd24f194474919bb3e07541c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.47.0-cp310-cp310-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.47.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for shap-0.47.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a47d6f6aa68e5e0646b6c5a286242dcdbe86b28e65eac666230fe3069a3815b9
MD5 0260ae881a33c06025977ac49eb900bd
BLAKE2b-256 182a3efa22aa3ae52c5cc530899754307296b81535096fb2a71d6785fd86b7ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.47.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_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.47.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for shap-0.47.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8d92da7ec570ca152a22401d8d28e61a0082e5ecd758b071ec1b74a0588895ae
MD5 65bad0e9f5ab2c1cb94e1763387ef6eb
BLAKE2b-256 92d9a780623e5b4dd92f3480ff7ad89153a542bd8f35f3affe4e87c51ba90b07

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.47.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_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.47.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for shap-0.47.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 add435becfd292984f34a8beec94968592be22cae33f55f61c2b14de4cf78edb
MD5 1b4ded6f5d3c1b4c302b0659efcd804c
BLAKE2b-256 341c7c7afa90bc712b1c39f2e9b12399cae9dfc631f3737c04b50a1bda2160b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.47.0-cp310-cp310-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.47.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for shap-0.47.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 68badecae73a0c6ac9d71a7948d089a9b95ede990708248650fa0ee516272c8a
MD5 37a58de532cb85dc6ae75127541e36e7
BLAKE2b-256 dda73dda427ce1354dda57ea51c341591957c3cafc468ee3bf6c17562aa4d00d

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.47.0-cp310-cp310-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.

File details

Details for the file shap-0.47.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: shap-0.47.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 530.6 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for shap-0.47.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 0597dea34cdbba5307edccc0ec5a28ff1985466145b1ebe62604f193ac682517
MD5 eeef39212e619dd9a5f22bc53928d0f7
BLAKE2b-256 b57cb1e9bd197a780c3b054d3549b060c8d0abcf853567e865537cd775e511ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.47.0-cp39-cp39-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.47.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for shap-0.47.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 236b414141b3cd7c475c52cc77d449d722e776e6c5ba018c628a87adbe773bb2
MD5 acf71bcbf124d20d90e23b87b3fe3943
BLAKE2b-256 6e9f2da6478187ed25c0d0bfa7af5e82505972afa208ae9d38696bf8900d1f3f

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.47.0-cp39-cp39-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.47.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for shap-0.47.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 90212e994866664950130c1767be3efc2094e7a8332669b5017d657d9fc4364e
MD5 276e789f172cd7cdc1cbd9f888fb9974
BLAKE2b-256 96d06e8f43eab3d91d757596a781ce2da4453d7df55024569791a05e7ea368f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.47.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_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.47.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for shap-0.47.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ad717677f0e9679c5a5516520e8e276aa914ce0ce8b43a4d21de198d425c79b1
MD5 d2abfba4bc5fd53e66d91d77608d75aa
BLAKE2b-256 9da5d54264194c105a50e30904bf007d240594c4d7f881a8a5e3afb39ad479fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.47.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_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.47.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for shap-0.47.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1c1262c53775ccb9480ee7440dae2e7beab38ed9189ce8d37b27ac2f0b9e9b48
MD5 878063b9ffe82c4293fdf01e96a3b18e
BLAKE2b-256 b6da63cac565d6e4621dfadc4c38328b77f2d0c139554a0ed7c470b57f12f287

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.47.0-cp39-cp39-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.47.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for shap-0.47.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a203491776b6ed31f8cd433d1002f86149652346ddfabf3eceb192d6cb50df4b
MD5 7290f71dbaa0f5ddb4190aaafc7ebfe2
BLAKE2b-256 d47500c03f08244f79b7e634d908cf98645a3c7eb228d1dc4ea1a7697000cd1a

See more details on using hashes here.

Provenance

The following attestation bundles were made for shap-0.47.0-cp39-cp39-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 AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page