The goal of the project was to compare the accuracy achieved by different machine learning models designed for sensor-data-based emotion recognition; specifically, physiological (heart rate, temperature) and behavioral (arm movement, hand movement, tone of voice) parameters were considered for classification purposes.
Four emotions were considered:
- Happiness
- Sadness
- Anger
- Fear
The machine learning models employed were:
- Decision tree
- Multilayer perceptron (MLP)
- Residual neural network (ResNet)
- Convolutional neural network (CNN)
- Long short-term memory (LSTM)
- Long short-term memory bidirezionale (BiLSTM)
- Long short-term memory con tre layer (3-layer LSTM)
- Convolutional neural network + Long short-term memory (CNN LSTM)
Different configurations were implemented for each type of machine learning model, each with a different strategy for data normalization and a different dataset for training. The machine learning model that achieved the highest accuracy was the decision tree with a value of 91.47%.
The project directory was divided as follows:
- datasets, containing the datasets used;
- er_utils, which constitutes a package with utility functions;
- logs, within which are the outputs produced by the source execution, so that they can always be consulted and compared with ease;
- models, within which are the patterns resulting from the training of neural networks;
- src, containing the source code of the implemented models -- in particular, directories named after a machine learning model have various configurations of that model within them.