TSInterpret is a Python library for interpreting time series classification. The ambition is to faciliate the usage of times series interpretability methods. The Framework supports Sklearn, Tensorflow, Torch and in some cases predict functions. A listing of implemented algorithms and supported frameworks can be found in our Documentation. More information on our framework can be found in our paper.
pip install TSInterpretYou can install the latest development version from GitHub as so:
pip install https://github.com/fzi-forschungszentrum-informatik/TSInterpret.git --upgradeOr, through SSH:
pip install git@github.com:fzi-forschungszentrum-informatik/TSInterpret.git --upgradeThe following example creates a simple Neural Network based on tensorflow and interprets the Classfier with Integrated Gradients and Temporal Saliency Rescaling [1]. For further examples check out the Documentation.
[1] Ismail, Aya Abdelsalam, et al. "Benchmarking deep learning interpretability in time series predictions." Advances in neural information processing systems 33 (2020): 6441-6452.
import pickle
import numpy as np
import matplotlib.pyplot as plt
import seaborn as snst
from tslearn.datasets import UCR_UEA_datasets
import tensorflow as tf dataset='BasicMotions'
train_x,train_y, test_x, test_y=UCR_UEA_datasets().load_dataset(dataset)
enc1=pickle.load(open(f'../../ClassificationModels/models/{dataset}/OneHotEncoder.pkl','rb'))
train_y=enc1.transform(train_y.reshape(-1,1))
test_y=enc1.transform(test_y.reshape(-1,1))
model_to_explain = tf.keras.models.load_model(f'../../ClassificationModels/models/{dataset}/cnn/{dataset}best_model.hdf5')Explain & Visualize Model
from TSInterpret.InterpretabilityModels.Saliency.TSR import TSR
int_mod=TSR(model_to_explain, train_x.shape[-2],train_x.shape[-1], method='IG',mode='time')
item= np.array([test_x[0,:,:]])
label=int(np.argmax(test_y[0]))
exp=int_mod.explain(item,labels=label,TSR =True)
%matplotlib inline
int_mod.plot(np.array([test_x[0,:,:]]),exp)If you use TSInterpret in your research, please consider citing it and the methods authors' original papers. The methods authors' original papers are cited in the documentation and the paper below.
@misc{https://doi.org/10.48550/arxiv.2208.05280,
doi = {10.48550/ARXIV.2208.05280},
url = {https://arxiv.org/abs/2208.05280},
author = {Höllig, Jacqueline and Kulbach, Cedric and Thoma, Steffen},
keywords = {Machine Learning (cs.LG), FOS: Computer and information sciences, FOS: Computer and information sciences},
title = {TSInterpret: A unified framework for time series interpretability},
publisher = {arXiv},
year = {2022},
copyright = {Creative Commons Attribution 4.0 International}
}

