# Classifying Hand Gestures Using Accelerometer Data for CSCE/BMEN 5280

## Overview
We have a dataset of accelerometer data from 8 users performing 20 gestures (approximately) 20 times each for a total of 3,251 gesture attempts. The gestures and their labels are shown in the image below. Note that in the aggregated dataset provided in this competition, the gestures are instead zero-based.

![Gesture images and labels](https://tev.fbk.eu/sites/tev.fbk.eu/files/gestures_0.png)

## Data
In this competition, the data is provided in a test and train dataset as two CSV files (`train.csv` and `test.csv`). These files are ready for import as pandas DataFrames. Both files contain the gesture ID (`id`); the user ID (`user`); and the x, y, and z accelerometer vectors for the entire gesture (`x`, `y`, and `z`). The train data file also includes the gesture label (`gesture`). The accelerometer data has been scaled using the Scikit Learn StandardScaler. The `x`, `y`, and `z` cell in each row contains a list. To properly read the lists in when opening the DataFrame, use `literal_eval` from the built-in package `ast` in the converter option of the pandas `read_csv` function. 

The rows in both data files have been pre-shuffled so that the gesture IDs can not be inferred from the order of the test data.

## Submission
To generate a submission, train your model on the `train.csv` data and generate a prediction on the `test.csv` data. The submission file should be a CSV with two columns: `id` and `gesture`. The `id` should match the values from the test data and the `gesture` value should be the zero-based gesture prediction from the test data.