Skip to main content


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/mnist_cnn.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):

Release files for shap 0.44.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for shap 0.44.0
File Size Uploaded
shap-0.44.0.tar.gz 1.1 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for shap 0.44.0
File
shap-0.44.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
shap-0.44.0-cp311-cp311-musllinux_1_1_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.1+ x86-64 Details
shap-0.44.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
shap-0.44.0-cp311-cp311-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.12+ x86-64, Linux glibc 2.17+ x86-64 Details
shap-0.44.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
shap-0.44.0-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
shap-0.44.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
shap-0.44.0-cp310-cp310-musllinux_1_1_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.1+ x86-64 Details
shap-0.44.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details
shap-0.44.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64, Linux glibc 2.12+ x86-64 Details
shap-0.44.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
shap-0.44.0-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
shap-0.44.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
shap-0.44.0-cp39-cp39-musllinux_1_1_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.1+ x86-64 Details
shap-0.44.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ ARM64 Details
shap-0.44.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.12+ x86-64, Linux glibc 2.17+ x86-64 Details
shap-0.44.0-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
shap-0.44.0-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details
shap-0.44.0-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
shap-0.44.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ ARM64 Details
shap-0.44.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.12+ x86-64, Linux glibc 2.17+ x86-64 Details
shap-0.44.0-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
shap-0.44.0-cp38-cp38-macosx_10_9_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.9+ x86-64 Details

Total release size: 14.1 MB

Release files / shap-0.44.0.tar.gz

Download URL shap-0.44.0.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
8f5f0401df83c8b2b566f41872f1bd8bc05bba43aab9e82bfb2047e9b2a0471c
BLAKE2b-256 checksum
How to use checksums
d224b701ec8ca1fa01b8e1998147462734cae7e613ed4f1ed789239108c9fcd3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / shap-0.44.0-cp311-cp311-win_amd64.whl

Download URL shap-0.44.0-cp311-cp311-win_amd64.whl
Size 448.0 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
38d884d21ada459eef656939402c02d67a50ea77fee4ef53df6453e3c3dca1bc
BLAKE2b-256 checksum
How to use checksums
e54ca4785425971e7433a7d80fa0ff9cd9f5f35303d4e99446190d91c72648c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / shap-0.44.0-cp311-cp311-musllinux_1_1_x86_64.whl

Download URL shap-0.44.0-cp311-cp311-musllinux_1_1_x86_64.whl
Size 1.1 MB
Tags CPython 3.11 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
252228cfecb8b73e1d43698fae8f081a1febcb0110b6455cde70eded1e56733d
BLAKE2b-256 checksum
How to use checksums
6747919eff201c4ba3ff5d9a62f3c95776db6fbeb515f9144eb5f3a000a74026
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / shap-0.44.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL shap-0.44.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 531.3 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
34fb9e0a19877b37cd1965757d750636631ee067888703728d7ecd8ad809302b
BLAKE2b-256 checksum
How to use checksums
a5e7ad1b3adc634d6649fdb364ece11550142c1a5f9aa6148033338bbc70b4bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / shap-0.44.0-cp311-cp311-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL shap-0.44.0-cp311-cp311-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 533.6 kB
Tags CPython 3.11 Linux glibc 2.12+ x86-64 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f574af8dbb00598e8ee1340dfa172a1546c73f950f06deab3bc866e8e4bb25bc
BLAKE2b-256 checksum
How to use checksums
b214a723fc9a19de5f10296340c84784d3bbb3a8a87b4b3b716adcdb61a8baf4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / shap-0.44.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL shap-0.44.0-cp311-cp311-macosx_11_0_arm64.whl
Size 446.0 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e3ffa926188b9d9138426e41c98146fce4baf1c64af2c6da6a1f85eae5ec4148
BLAKE2b-256 checksum
How to use checksums
55d50a1c65b13ab5a24178d162d0cfd3f8a709588388cc5bdd32b17c119f6d54
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / shap-0.44.0-cp311-cp311-macosx_10_9_x86_64.whl

Download URL shap-0.44.0-cp311-cp311-macosx_10_9_x86_64.whl
Size 450.9 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
b0dab61c0a2fa52d2e846a8270df2742cb6b4c45e64c32af008733aaeb5a5b3b
BLAKE2b-256 checksum
How to use checksums
f65eeb46f7b7e64318377adf7dec0e38e22c022b256eb51985fd14e4b9eb5084
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / shap-0.44.0-cp310-cp310-win_amd64.whl

Download URL shap-0.44.0-cp310-cp310-win_amd64.whl
Size 448.0 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
bedbd076ac7f0e6055c481fd588772740febc4d8d1218364c39696016e731fc2
BLAKE2b-256 checksum
How to use checksums
618dd0790fbbde36aeed7e87516f15d163daddb07ca34c6f736e29e02bddf4c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / shap-0.44.0-cp310-cp310-musllinux_1_1_x86_64.whl

Download URL shap-0.44.0-cp310-cp310-musllinux_1_1_x86_64.whl
Size 1.1 MB
Tags CPython 3.10 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
77d20d7e2571051e3ef12e325387c169f59561fbbfcd9ec18cd113b012c27cb1
BLAKE2b-256 checksum
How to use checksums
4a7840cdb83010e2d90884b6d48fda670b8887558b1a126d3c6e2697a54852e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / shap-0.44.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL shap-0.44.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 531.2 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
dc385c024d12402c8c667b7ce86689da169252e0e1f27ad013b9f6b276aee241
BLAKE2b-256 checksum
How to use checksums
dd92fd507990665c7da0f93c5587df0edf41b6d8b242038d0a8d6aa024fbb1b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / shap-0.44.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL shap-0.44.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 533.5 kB
Tags CPython 3.10 Linux glibc 2.12+ x86-64 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
2e6f02592ca36096be9f886dc1ea4aff4357ca0c7fe0d0493ecb304c67c14064
BLAKE2b-256 checksum
How to use checksums
04cdc8bd38eb610f9b80b970f6e98ab88dbc0e017dbbc406248381bb77ae626f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / shap-0.44.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL shap-0.44.0-cp310-cp310-macosx_11_0_arm64.whl
Size 446.0 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0d5da8d45c43de7c425c26e7efc11cc31858c2fc9ba39178a8630d1e5b564b77
BLAKE2b-256 checksum
How to use checksums
d5ed3f079158ddd4ca52240f72ab3fd7f3a9d7e1b75faf6d6b0039ab4882cbc9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / shap-0.44.0-cp310-cp310-macosx_10_9_x86_64.whl

Download URL shap-0.44.0-cp310-cp310-macosx_10_9_x86_64.whl
Size 450.9 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
896a9e5cf932c34f2932a753313217ca62f8d6bf65d76719752c83328cc408f6
BLAKE2b-256 checksum
How to use checksums
071fc674e63162efac651dbd9fa28a66d2411451d8b0d2be01670d506c518c09
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / shap-0.44.0-cp39-cp39-win_amd64.whl

Download URL shap-0.44.0-cp39-cp39-win_amd64.whl
Size 448.0 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
8b97c0cb911b0c30e1247d820795736dfe2ff5cb60342538e735591c3b2430b8
BLAKE2b-256 checksum
How to use checksums
a469d7fa1ed3a315d3e63f4d57f6c9e4523fba4f179fb5fd1dee6b2085491195
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / shap-0.44.0-cp39-cp39-musllinux_1_1_x86_64.whl

Download URL shap-0.44.0-cp39-cp39-musllinux_1_1_x86_64.whl
Size 1.1 MB
Tags CPython 3.9 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
eaf8e10df11aff5db6832d13de860d8c2819bb336f5b8512b2df62d428f31ed5
BLAKE2b-256 checksum
How to use checksums
440a172f7d665798e95b5b020697f5aa618983f5cc949f695ab3b04a9125f225
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / shap-0.44.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL shap-0.44.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 531.1 kB
Tags CPython 3.9 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
5cc6a111efb70e7fb42ea156db1a457ea55c60347d288e5128682957c8fa8818
BLAKE2b-256 checksum
How to use checksums
b71fd48444eaf30588209ff8a9da7368eeb533c35c323b65f9790771dfec1249
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / shap-0.44.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL shap-0.44.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 533.4 kB
Tags CPython 3.9 Linux glibc 2.12+ x86-64 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
246677bd5dacf48de74b7d4064928da95f989b1579ea4039a884fc6442c3908f
BLAKE2b-256 checksum
How to use checksums
44311ea23b817be0a994675d8786be4c1db1a9e387efb6bfd7126bf7a48b9c2b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / shap-0.44.0-cp39-cp39-macosx_11_0_arm64.whl

Download URL shap-0.44.0-cp39-cp39-macosx_11_0_arm64.whl
Size 446.0 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2b43239491f0f30c4be15a08b6d4d5e83d5ed36278f2af80a7a81bbf43fefb61
BLAKE2b-256 checksum
How to use checksums
11fcfd4b13b22e79169365496dc257a2710e3cf609a7b2ece40c7553931be933
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / shap-0.44.0-cp39-cp39-macosx_10_9_x86_64.whl

Download URL shap-0.44.0-cp39-cp39-macosx_10_9_x86_64.whl
Size 450.9 kB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
65c4f541eaffbdaf52c1f09a819b17a3635fcf80b3c12b5680262465a7bd1829
BLAKE2b-256 checksum
How to use checksums
999222aa0c2f5e958fa70a2b86ba0f4c75f0549bacf63785a20651ffd3707d9d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / shap-0.44.0-cp38-cp38-win_amd64.whl

Download URL shap-0.44.0-cp38-cp38-win_amd64.whl
Size 448.0 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
5e70e0db17d2a4bd7a95db139b3424b059891b03690357ce6e3800105a50e6d5
BLAKE2b-256 checksum
How to use checksums
680f877e25ac7c5f9c24db18232da80d36b5f3f104f429b819999d9740a07e9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / shap-0.44.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL shap-0.44.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 534.2 kB
Tags CPython 3.8 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
618253d1634082cac40fed79b9b673340ed4562c5645eae8a8c718f26617a13b
BLAKE2b-256 checksum
How to use checksums
237a5618b8a1c3a2daea42afdf9ebf829a48aaa6d76ce7ab5fbf58de15534156
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / shap-0.44.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL shap-0.44.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 536.3 kB
Tags CPython 3.8 Linux glibc 2.12+ x86-64 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e1c9186d591b489805d4f9141ceb7d4e5ad5bbdf522fe8262ce9d1999a111523
BLAKE2b-256 checksum
How to use checksums
6159151b58be39b4a472e37fa172af6a54235d948ed80a59d0b9c7626492d730
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / shap-0.44.0-cp38-cp38-macosx_11_0_arm64.whl

Download URL shap-0.44.0-cp38-cp38-macosx_11_0_arm64.whl
Size 446.0 kB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5fac74f0181e7dce27b21442b177baac7f579e32cdc5fa4b95fe98adfb5febc0
BLAKE2b-256 checksum
How to use checksums
8ce8aff505951be3de864786e12a7b8fdabd2538c24848c17bc7f41dca9008ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / shap-0.44.0-cp38-cp38-macosx_10_9_x86_64.whl

Download URL shap-0.44.0-cp38-cp38-macosx_10_9_x86_64.whl
Size 450.9 kB
Tags CPython 3.8 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
65b012be193ddc47f33f08c4b2193eb2d6f616e2ffa747f85d272616117fce19
BLAKE2b-256 checksum
How to use checksums
ca382c4e7c122e34791759008d7bd451cc29bee06ec737b98959fd768a7bdfbf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release history Release notifications | RSS feed

This release

0.44.0 This release

24 release files

0.38.1

4 release files

0.36.0

4 release files

0.35.0

3 release files

0.34.0

4 release files

0.33.0

4 release files

0.31.0

4 release files

0.30.2

2 release files

0.30.0

4 release files

0.29.3

5 release files

0.29.2

3 release files

0.29.1

5 release files

0.28.6

1 release file

0.28.5

4 release files

0.28.4

2 release files

0.28.3

4 release files

0.28.2

4 release files

0.28.1

4 release files

0.28.0

2 release files

0.26.0

4 release files

0.24.0

4 release files

0.23.2

2 release files

0.23.1

4 release files

0.23.0

4 release files

0.21.0

4 release files

0.20.2

4 release files

0.20.1

4 release files

0.19.5

1 release file

0.19.4

1 release file

0.19.3

1 release file

0.19.2

1 release file

0.19.1

1 release file

0.18.1

1 release file

0.18.0

1 release file

0.17.1

1 release file

0.17.0

1 release file

0.16.1

1 release file

0.15.0

1 release file

0.14.1

1 release file

0.14.0

1 release file

0.13.7

1 release file

0.13.6

1 release file

0.13.5

1 release file

0.13.3

1 release file

0.13.2

1 release file

0.13.1

1 release file

0.13

1 release file

0.12.1

1 release file

0.12.0

1 release file

0.11.1

1 release file

0.11.0

1 release file

0.10.3

1 release file

0.10.2

1 release file

0.10.1

1 release file

0.10.0

1 release file

0.9.1

1 release file

0.8.9

1 release file

0.8.8

1 release file

0.8.7

1 release file

0.8.6

1 release file

0.8.5

1 release file

0.8.4

1 release file

0.8.3

1 release file

0.8.2

1 release file

0.8.1

1 release file

0.8.0

1 release file

0.7.0

1 release file

0.6.1

1 release file

0.6

1 release file

0.5

1 release file

0.3.3

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3

1 release file

0.2.4

1 release file

0.2.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2

1 release file

0.1.2

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page