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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

survshap-0.4.2.tar.gz (14.5 kB view details)

Uploaded Source

Built Distribution

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

survshap-0.4.2-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

File details

Details for the file survshap-0.4.2.tar.gz.

File metadata

  • Download URL: survshap-0.4.2.tar.gz
  • Upload date:
  • Size: 14.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.5

File hashes

Hashes for survshap-0.4.2.tar.gz
Algorithm Hash digest
SHA256 a863147d33011002b03c3df3279f1656756a6e3761dc4867016b179161df8da4
MD5 00e60e9a730724e39c71a39b09369fe5
BLAKE2b-256 058a883ff287621301d415e9ba62303c65179d6090d557d7c288cb70a5e37da1

See more details on using hashes here.

File details

Details for the file survshap-0.4.2-py3-none-any.whl.

File metadata

  • Download URL: survshap-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 19.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.5

File hashes

Hashes for survshap-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 83fe0a63dc4bf7bb16d5c92b2ccc5dad92c5e794a8b7eb8a22d27db368c6372c
MD5 a6ff4f72b1ad9c39414ec752283be270
BLAKE2b-256 0601663ebeb02a3a04f4c81aba9993d6a0d02306361cd91b0c49e565e75fbfa1

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.4.2 This release

2 files

0.4.1

2 files

0.4.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page