boniolp / dCAM

[SIGMOD 2022] Python code for "Dimension-wise Class Activation Map for Multivariate Time Series Classification"
MIT License
15 stars 1 forks source link
class-activation-map classification convolutional-neural-networks deep-learning multivariate-timeseries neural-network python pytorch sigmod time-series

dCAM

Dimension-wise Class Activation Map for Explaining Multivariate Time Series Classification

GitHub GitHub issues

Abstract

Data series classification is an important and challenging problem in data science. Explaining the classification decisions by finding the discriminant parts of the input that led the algorithm to some decision is a real need in many applications. Convolutional neural networks perform well for the data series classification task; though,the explanations provided by this type of algorithms are poor for the specific case of multivariate data series. Solving this important limitation is a significant challenge. We propose a novel method that addresses the above challenge by highlighting both the temporal and dimensional discriminant information. Our contribution is two-fold: we first describe a new convolutional architecture that enables the comparison of dimensions; then, we propose a novel method that returns dCAM, a Dimension-wise ClassActivation Map specifically designed for multivariate time series.

drawing

This repository is dedicated to our paper titled "dCAM : Dimension-wise Class Activation Map for Explaining Multivariate Time Series Classification" published in the Proceedings of the 2022 International Conference on Management of Data also available on here.

dCAM in Practice:

Here are interesting papers that use dCAM.

Data

The data used in this project comes from two sources:

Code

The code is divided as follows:

Prerequisites

First, to download the datasets (unzip and move the content in the corresponding folder), please run the following commands:

cd data/UCR_UEA
https://helios2.mi.parisdescartes.fr/~themisp/dCAM/data/UCR_UEA_datasets.zip
cd data/synthetic
https://helios2.mi.parisdescartes.fr/~themisp/dCAM/data/Synthetic_datasets.zip

All python packages needed are listed in requirements.txt file and can be installed simply using the pip command:

pip install -r requirements_version.txt

If the version are not compatible in your environement, please run the following command:

pip install -r requirements.txt

Jupyter notebook should be installed. To do so, please run the following command:

pip install notebook

Overall, the required python packages are listed as follows:

Reference

If you re-use this work, please cite:

@inproceedings{DBLP:conf/sigmod/BoniolMRP22,
  author    = {Paul Boniol and
               Mohammed Meftah and
               Emmanuel Remy and
               Themis Palpanas},
  editor    = {Zachary Ives and
               Angela Bonifati and
               Amr El Abbadi},
  title     = {dCAM: Dimension-wise Class Activation Map for Explaining Multivariate
               Data Series Classification},
  booktitle = {{SIGMOD} '22: International Conference on Management of Data, Philadelphia,
               PA, USA, June 12 - 17, 2022},
  pages     = {1175--1189},
  publisher = {{ACM}},
  year      = {2022},
  url       = {https://doi.org/10.1145/3514221.3526183},
  doi       = {10.1145/3514221.3526183},
  timestamp = {Tue, 14 Jun 2022 18:31:24 +0200},
  biburl    = {https://dblp.org/rec/conf/sigmod/BoniolMRP22.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}