Git Product home page Git Product logo

emotion-recognition-smartwatch's Introduction

Emotion-recognition using smart watch sensor data

This is the data and the source code used in the paper "Emotion Recognition Using Smart Watch Sensor Data: Mixed-Design Study" published in JMIR Mental Health. If you use our code or dataset, cite the following paper:

Quiroz JC, Geangu E, Yong MH
Emotion Recognition Using Smart Watch Sensor Data: Mixed-Design Study
JMIR Ment Health 2018;5(3):e10153
URL: https://mental.jmir.org/2018/3/e10153
DOI: 10.2196/10153
PMID: 30089610

Our preliminary results were published in:

Juan C. Quiroz, Min Hooi Yong, and Elena Geangu. 2017. 
Emotion-recognition using smart watch accelerometer data: preliminary findings. 
In Proceedings of the 2017 ACM International Joint Conference on Pervasive and 
Ubiquitous Computing and Proceedings of the 2017 ACM International Symposium 
on Wearable Computers (UbiComp '17). ACM, New York, NY, USA, 805-812. 
DOI: https://doi.org/10.1145/3123024.3125614

Dataset

Data was collected from 50 participants. Coding details are available in user_study_encoding.csv.

Replicating Study Results

Install requirements

The code was written in python2.7. To install the requiements run:

pip install -r requirements.txt

Commands used to generate results from our data set

Extract the accelerometer data from the recorded walking times.

python get_walking_data.py user_study_encoding.csv raw_data/ walking_data/

Extract features from sliding windows.

python extract_windows.py walking_data/m* features/

Compute classification accuracies of happy vs sad.

python user_lift.py -mo features/features_mo_ew* -mu features/features_mu_ew* -mw features/features_mw_ew* -o acc_f1

Compute classification accuracies of happy vs sad vs neutral.

python2 user_lift.py -mo features/features_mo_ew* -mu features/features_mu_ew* -mw features/features_mw_ew* -o neutral --neutral

Run permutation test to determine if accuracies are higher than baseline.

python permute_test.py -mo mo_lift_scores_log.yaml -mu mu_lift_scores_log.yaml -mw mw_lift_scores_log.yaml

Generate plot of feature importances.

python feature_importance_plot.py -mo mo_feature_import_acc_f1.yaml -mu mu_feature_import_acc_f1.yaml -mw mw_feature_import_acc_f1.yaml

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.