- Notifications
You must be signed in to change notification settings - Fork21
Are you ready to FLIRT with your wearable data?
License
im-ethz/flirt
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
⭐️Simple. Robust. Powerful.
FLIRT is aFeature generation tooLkIt for weaRable daTa such as that from your smartwatch or smart ring. With FLIRT you caneasily transform wearable data into meaningful features which can then be used for example in machine learning or AI models.
In contrast to other existing toolkits, FLIRT (1) focuses on physiological data recorded with(consumer)wearables and (2) calculates features based on asliding-window approach.FLIRT is an easy-to-use, robust and efficient feature generation toolkit for your wearable device!
➡️Are you ready to FLIRT with your wearable data?
A few things that FLIRT can do:
- Loading data from common wearable device formats such as from the Empatica E4 or Holter ECGs
- Overlapping sliding-window approach for feature calculation
- CalculatingHRV (heart-rate variability) features from NN intervals (aka inter-beat intervals)
- Deriving features forEDA (electrodermal activity)
- Computing features forACC (accelerometer)
- Provide and prepare features in one comprehensive DataFrame, so that they can directly be used for further steps(e.g. training machine learning models)
😎 FLIRT provideshigh-level implementations for fast and easy utilization of feature generators(seeflirt.simple).
🤓 For advanced users, who wish to adapt algorithms and parameters do their needs, FLIRT also provideslow-levelimplementations.They allow for extensive configuration possibilities in feature generation and the specification of which algorithms touse for generating features.
FLIRT is available fromPyPI and can be installed via pip:
pip install flirt
Alternatively, you can checkout the source code from theGitHub repository:
git clone https://github.com/im-ethz/flirt
Generate a comprehensive set of features for an Empatica E4 data archive with a single line of code 🚀
import flirtfeatures = flirt.with_.empatica('./1234567890_A12345.zip')
Check out thedocumentation and exemplaryJupyter notebooks.
Things FLIRT will be able to do in the future:
- Use FLIRT with Oura's smart ring and other consumer-grade wearable devices
- Use FLIRT with Apple Health to derive meaningful features from long-term data recordings
- Feature generation for additional sensor modalities such as: blood oxygen saturation, blood volume changes, respiration rate, and step counts
Made with ❤️ atETH Zurich.
Check out allauthors.
In collaboration with theDigital Biomarker Discovery Pipeline.
- How does FLIRT distinguish from other physiological data processing packages such as neurokit?
While FLIRT works with physiological data like other packages, it places special emphasis on the inherent challengesof data processing obtained from (consumer) wearable devices such as smartwaches instead of professional,medical-grade recording devices such as ECGs or EEGs. As an example, when processing data from smartwatches, onecould be confronted with inaccurate data, which needs artifact removal, or measurement gaps, which need to bedealt with.
Original article:FLIRT: A Feature Generation Toolkit for Wearable Data
@article{flirt2021, title={{{FLIRT}}: A {{Feature Generation Toolkit}} for {{Wearable Data}}}, author={Föll, Simon and Maritsch, Martin and Spinola, Federica and Mishra, Varun and Barata, Filipe and Kowatsch, Tobias and Fleisch, Elgar and Wortmann, Felix}, year={2021}, journal={Computer Methods and Programs in Biomedicine}, doi={10.1016/j.cmpb.2021.106461},}
About
Are you ready to FLIRT with your wearable data?