All Projects → hfawaz → ijcnn19ensemble

hfawaz / ijcnn19ensemble

Licence: GPL-3.0 license
Deep Neural Network Ensembles for Time Series Classification

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to ijcnn19ensemble

Sktime
A unified framework for machine learning with time series
Stars: ✭ 4,741 (+4372.64%)
Mutual labels:  time-series-classification
keras-stochastic-weight-averaging
Keras callback function for stochastic weight averaging
Stars: ✭ 53 (-50%)
Mutual labels:  ensemble
Adanet
Fast and flexible AutoML with learning guarantees.
Stars: ✭ 3,340 (+3050.94%)
Mutual labels:  ensemble
NLP Quickbook
NLP in Python with Deep Learning
Stars: ✭ 516 (+386.79%)
Mutual labels:  ensemble
Deep-Vessel
kgpml.github.io/deep-vessel/
Stars: ✭ 52 (-50.94%)
Mutual labels:  ensemble
resnet-ensemble
Ensemble code for Resnet in Tensorflow slim
Stars: ✭ 14 (-86.79%)
Mutual labels:  ensemble
Chronetic
Analyzes chronological patterns present in time-series data and provides human-readable descriptions
Stars: ✭ 23 (-78.3%)
Mutual labels:  time-series-classification
bnote
BNote - Open Source Ensemble Management
Stars: ✭ 20 (-81.13%)
Mutual labels:  ensemble
Machine-learning-toolkits-with-python
Machine learning toolkits with Python
Stars: ✭ 31 (-70.75%)
Mutual labels:  ensemble
Ensemble-Pytorch
A unified ensemble framework for PyTorch to improve the performance and robustness of your deep learning model.
Stars: ✭ 407 (+283.96%)
Mutual labels:  ensemble
mesa
NeurIPS’20 | Build powerful ensemble class-imbalanced learning models via meta-knowledge-powered resampler. | 设计元知识驱动的采样器解决类别不平衡问题
Stars: ✭ 88 (-16.98%)
Mutual labels:  ensemble
bagging pu
Simple sklearn based python implementation of Positive-Unlabeled (PU) classification using bagging based ensembles
Stars: ✭ 73 (-31.13%)
Mutual labels:  ensemble
transformer
Neutron: A pytorch based implementation of Transformer and its variants.
Stars: ✭ 60 (-43.4%)
Mutual labels:  ensemble
Tslearn
A machine learning toolkit dedicated to time-series data
Stars: ✭ 1,910 (+1701.89%)
Mutual labels:  time-series-classification
kaggle humpback whale identification
68th palce solution in Kaggle Humpback Whale Identification.
Stars: ✭ 13 (-87.74%)
Mutual labels:  ensemble
time series classification prediction
Different deep learning architectures are implemented for time series classification and prediction purposes.
Stars: ✭ 17 (-83.96%)
Mutual labels:  time-series-classification
subsemble
subsemble R package for ensemble learning on subsets of data
Stars: ✭ 40 (-62.26%)
Mutual labels:  ensemble
forecastVeg
A Machine Learning Approach to Forecasting Remotely Sensed Vegetation Health in Python
Stars: ✭ 44 (-58.49%)
Mutual labels:  ensemble
imbalanced-ensemble
Class-imbalanced / Long-tailed ensemble learning in Python. Modular, flexible, and extensible. | 模块化、灵活、易扩展的类别不平衡/长尾机器学习库
Stars: ✭ 199 (+87.74%)
Mutual labels:  ensemble
AdaptiveRandomForest
Repository for the AdaptiveRandomForest algorithm implemented in MOA 2016-04
Stars: ✭ 28 (-73.58%)
Mutual labels:  ensemble

Deep Neural Network Ensembles for Time Series Classification

This is the companion repository for our paper also available on ArXiv titled "Deep Neural Network Ensembles for Time Series Classification". This paper has been accepted at the IEEE International Joint Conference on Neural Networks (IJCNN) 2019.

Approach

ensemble

Data

The data used in this project comes from the UCR/UEA archive, which contains the 85 univariate time series datasets.

Code

The code is divided as follows:

  • The main.py python file contains the necessary code to run all experiements.
  • The utils folder contains the necessary functions to read the datasets and manipulate the data.
  • The classifiers folder contains eight python files one for each deep individual/ensemble classifier presented in our paper.

To run a model on all datasets you should issue the following command:

python3 main.py

To control which datasets and which individual/ensemble classifiers to run see the options in constants.py.

You can control which algorithms to include in the ensemble by changing this line of code.

Prerequisites

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

Results

The following table shows the results of four ensembles, the raw results can be found here.

Fine-tuned FCNs NNE ALL ResNets
50words 66.81 80.00 80.00 77.14
Adiac 85.17 85.17 83.38 83.63
ArrowHead 84.00 86.29 86.29 86.86
Beef 76.67 76.67 80.00 76.67
BeetleFly 90.00 85.00 85.00 85.00
BirdChicken 90.00 95.00 85.00 90.00
CBF 99.78 99.44 98.56 99.78
Car 91.67 95.00 86.67 93.33
ChlorineConcentration 82.42 85.05 83.98 85.49
CinC_ECG_torso 85.87 89.71 92.90 83.55
Coffee 100.00 100.00 100.00 100.00
Computers 83.20 83.60 71.60 83.60
Cricket_X 78.97 82.05 77.95 81.54
Cricket_Y 79.23 84.36 78.72 82.05
Cricket_Z 82.05 83.85 79.49 82.05
DiatomSizeReduction 30.07 30.07 88.56 30.07
DistalPhalanxOutlineAgeGroup 71.94 72.66 76.26 73.38
DistalPhalanxOutlineCorrect 77.54 77.90 77.90 78.99
DistalPhalanxTW 71.22 65.47 67.63 66.19
ECG200 89.00 89.00 92.00 88.00
ECG5000 94.16 94.42 94.51 93.67
ECGFiveDays 99.54 99.88 99.65 98.61
Earthquakes 71.94 74.82 74.82 72.66
ElectricDevices 71.74 74.39 73.03 74.22
FISH 96.00 97.71 93.71 98.29
FaceAll 92.84 86.39 83.91 84.02
FaceFour 93.18 95.45 92.05 95.45
FacesUCR 93.95 95.76 95.51 95.90
FordA 90.67 93.70 94.22 92.56
FordB 88.04 92.90 92.33 92.16
Gun_Point 100.00 100.00 99.33 99.33
Ham 74.29 75.24 74.29 78.10
HandOutlines 92.70 95.14 93.78 93.78
Haptics 50.65 52.60 50.97 53.25
Herring 65.62 60.94 62.50 60.94
InlineSkate 40.55 38.36 38.00 38.55
InsectWingbeatSound 39.49 59.75 65.91 52.73
ItalyPowerDemand 96.11 96.50 96.89 96.40
LargeKitchenAppliances 89.60 90.93 83.20 89.60
Lighting2 80.33 80.33 77.05 78.69
Lighting7 89.04 90.41 83.56 83.56
MALLAT 96.93 96.93 95.44 97.40
Meat 91.67 95.00 93.33 96.67
MedicalImages 78.29 79.74 80.13 78.42
MiddlePhalanxOutlineAgeGroup 53.90 59.09 60.39 59.09
MiddlePhalanxOutlineCorrect 81.10 83.51 83.85 83.51
MiddlePhalanxTW 51.95 51.95 55.19 49.35
MoteStrain 93.37 93.93 93.45 93.05
NonInvasiveFatalECG_Thorax1 96.44 96.39 95.88 95.01
NonInvasiveFatalECG_Thorax2 95.73 96.18 96.54 95.01
OSULeaf 97.52 98.76 78.51 98.35
OliveOil 86.67 86.67 86.67 86.67
PhalangesOutlinesCorrect 83.57 84.27 83.57 84.97
Phoneme 32.65 35.13 30.91 34.81
Plane 100.00 100.00 99.05 100.00
ProximalPhalanxOutlineAgeGroup 84.39 84.88 85.85 85.37
ProximalPhalanxOutlineCorrect 92.10 91.75 90.38 92.10
ProximalPhalanxTW 79.51 77.56 80.98 78.54
RefrigerationDevices 50.40 53.07 53.33 52.80
ScreenType 65.07 62.13 52.27 62.13
ShapeletSim 86.11 81.11 70.56 93.89
ShapesAll 90.00 92.83 89.17 92.00
SmallKitchenAppliances 79.47 82.13 77.60 78.93
SonyAIBORobotSurface 95.84 94.68 78.04 96.17
SonyAIBORobotSurfaceII 98.22 97.69 88.88 98.11
StarLightCurves 96.78 97.92 97.79 97.38
Strawberry 97.84 98.11 97.57 98.11
SwedishLeaf 97.28 97.28 96.16 96.48
Symbols 95.68 95.88 91.06 91.56
ToeSegmentation1 96.49 98.25 81.58 96.05
ToeSegmentation2 90.77 92.31 93.08 91.54
Trace 100.00 100.00 98.00 100.00
TwoLeadECG 99.91 100.00 97.72 100.00
Two_Patterns 87.62 100.00 100.00 100.00
UWaveGestureLibraryAll 82.86 92.27 96.26 87.16
Wine 77.78 87.04 90.74 83.33
WordsSynonyms 55.96 66.93 68.97 62.85
Worms 76.62 81.82 62.34 83.12
WormsTwoClass 74.03 77.92 63.64 77.92
synthetic_control 98.67 100.00 100.00 100.00
uWaveGestureLibrary_X 76.13 82.10 83.28 79.51
uWaveGestureLibrary_Y 64.82 73.20 75.38 68.68
uWaveGestureLibrary_Z 73.12 78.03 77.41 76.19
wafer 99.61 99.84 99.81 99.90
yoga 87.10 89.33 88.57 88.17
Wins 18 38 29 27

Critical difference diagrams

If you would like to generate these diagrams, take a look at this code!

cd-diagram-resnets cd-diagram-all cd-diagram-nne

Reference

If you re-use this work, please cite:

@InProceedings{IsmailFawaz2019deep,
  Title                    = {Deep Neural Network Ensembles for Time Series Classification},
  Author                   = {Ismail Fawaz, Hassan and Forestier, Germain and Weber, Jonathan and Idoumghar, Lhassane and Muller, Pierre-Alain},
  booktitle                = {IEEE International Joint Conference on Neural Networks},
  Year                     = {2019}
}

Acknowledgement

We would like to thank NVIDIA Corporation for the Quadro P6000 grant and the Mésocentre of Strasbourg for providing access to the cluster.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].