Skip to main content

survshap

Overview

The survshap package contains an implementation of the SurvSHAP(t) method, the first time-dependent explanation method for interpreting survival black-box models. It is based on SHapley Additive exPlanations (SHAP) but extends it to the time-dependent setting of survival analysis. SurvSHAP(t) is able to detect time-dependent variable effects and its aggregation determines the local variable importance.

Read more about SurvSHAP(t) in our paper.

Installation

You can install the package from PyPI:

pip install survshap

NOTE: SurvSHAP(t) is also implemented in the survex R package, along with many more explanation methods for survival models. survex offers explanations for scikit-survival models loaded into R via the reticulate package.

Citation

If you use this package, please cite our paper:

@article{survshap,
    title = {SurvSHAP(t): Time-dependent explanations of machine learning survival models},
    journal = {Knowledge-Based Systems},
    volume = {262},
    pages = {110234},
    year = {2023},
    issn = {0950-7051}
    }

Basic usage

# import packages and load data
from survshap import SurvivalModelExplainer, PredictSurvSHAP, ModelSurvSHAP
from sksurv.ensemble import RandomSurvivalForest # or any other survival model
# X, y - data

# prepare survival model
model = RandomSurvivalForest()
model.fit(X, y)

# create explainer
explainer = SurvivalModelExplainer(model = model, data = X, y = y)

# compute SHAP values for a single instance
observation_A = X.iloc[[0]]
survshap_A = PredictSurvSHAP()
survshap_A.fit(explainer = explainer, new_observation = observation_A)

survshap_A.result 
survshap_A.plot()

# compute SHAP values for a group of instances
model_survshap = ModelSurvSHAP(calculation_method="treeshap") # fast implementation for tree-based models
model_survshap.fit(explainer = explainer, new_observations = X)

model_survshap.result
model_survshap.plot_mean_abs_shap_values()
model_survshap.plot_shap_lines_for_all_individuals(variable = "variable1")
extracted_survshap = model_survshap.individual_explanations[0] # PredictSurvSHAP object

Release files for survshap 0.4.2

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

Source distribution (sdist)

Source distribution for survshap 0.4.2
File Size Uploaded
survshap-0.4.2.tar.gz 14.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for survshap 0.4.2
File Interpreter ABI Platform
survshap-0.4.2-py3-none-any.whl Python 3 none any Details

Total release size: 34.2 kB

Release files / survshap-0.4.2.tar.gz

Download URL survshap-0.4.2.tar.gz
Size 14.5 kB
Tags Source
SHA-256 checksum
How to use checksums
a863147d33011002b03c3df3279f1656756a6e3761dc4867016b179161df8da4
BLAKE2b-256 checksum
How to use checksums
058a883ff287621301d415e9ba62303c65179d6090d557d7c288cb70a5e37da1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.5

Release files / survshap-0.4.2-py3-none-any.whl

Download URL survshap-0.4.2-py3-none-any.whl
Size 19.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
83fe0a63dc4bf7bb16d5c92b2ccc5dad92c5e794a8b7eb8a22d27db368c6372c
BLAKE2b-256 checksum
How to use checksums
0601663ebeb02a3a04f4c81aba9993d6a0d02306361cd91b0c49e565e75fbfa1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.5

Release history Release notifications | RSS feed

This release

0.4.2 This release

2 release files

0.4.1

2 release files

0.4.0

2 release files

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