Deep Learning for time series classification - A review and experimental study
- Python;
- Matplotlib
- Numba;
- NumPy;
- Pandas;
- scikit-learn;
- sktime;
- scipy;
- TensorFlow-GPU;
- tqdm;
- catch22;
- tbb.
- Link to Colab Notebook
The code is divided as follows:
- The main.py python file contains the necessary code to run an experiement.
- The utils folder contains the necessary functions to read the datasets and visualize the plots.
- The classifiers folder contains the different classifiers including: Rocket, MiniRocket, MultiRocket, InceptionTime, ResNet...
Arguments:
-d --dataset_names : dataset names (optional, default=all)
-c --classifier_names : classifier (optional, default=all)
-o --output_path : path to results (optional, default=root_dir)
-i --iterations : number of runs (optional, default=3)
-g --generate_results_csv : make results.csv (optional, default=False)
Examples:
> python main.py
> python main.py -d Adiac Coffee -c multirocket_default -i 1
> python main.py -g True
The framework expects data from the UCR archive in the .ts format.
The folder structure for the datasets is as follows: /UCRArchive_2018/dataset_name/
For example, the train/test of Adiac should be saved under /UCRArchive_2018/Adiac/
Calling main.py without any arguments trains every model on every dataset.
Results are saved in /results.
To generate a results.csv for the tested models, main.py -g True is called.
If you would like to generate such a diagram, take a look at this code!