Human Activity Recognition on the Wireless Sensor Data Mining (WISDM) dataset using Bidirectional LSTM Recurrent Neural Networks
This repository cotains code used to recognize human activity based on the Wireless Sensor Data Mining (WISDM) dataset using LSTM (Long short-term memory) and is heavily based on the article by Venelin Valkov.
It extends my previous project, by allowing for a bidirectional coomunication between network cells.
The data used for classification is provided by the Wireless Sensor Data Mining (WISDM) Lab and can be downloaded here.
It consists of 1,098,207 examples of various physical activities (sampled at 20Hz) with 6 attributes:
user,activity,timestamp,x-acceleration,y-acceleration,z-acceleration
, and the activities include: Walking, Jogging, Upstairs, Downstairs, Sitting, Standing
.
Original research done on this dataset can be found here.
Check here.
In contrary to the previous project, a Bayesiyan Optimization was run to optimize the hyperparameters of the Network. The hyperparameters are: SEGMENT TIME SIZE, NUMBER OF HIDDEN NEURONS, BATCH SIZE. There was not any apparent correlation between the variables (see below).
The maximum accuracy of 95% has been achieved with SEGMENT TIME SIZE = 180, NUMBER OF HIDDEN NEURONS = 30, BATCH SIZE = 10.
- matplotlib 1.5.3
- seaborn 0.8.1
- numpy 1.14
- pandas 0.20.3
- scikit-learn 0.19.1
- tensorflow 1.5.0
- Run the script with
python3 HAR_Recognition.py