/mcfly

A deep learning tool for time series classification

Primary LanguageJavaScriptOtherNOASSERTION

Build Status Code quality Coverage DOI Binder

The goal of mcfly is to ease the use of deep learning technology for time series classification. The advantage of deep learning is that it can handle raw data directly, without the need to compute signal features. Deep learning does not require expert domain knowledge about the data, and has been shown to be competitive with conventional machine learning techniques. As an example, you can apply mcfly on accelerometer data for activity classification, as shown in the tutorial.

Installation

Prerequisites:

  • Python 2.7 or 3.5
  • pip

Installing all dependencies in sparate conda environment:

conda env create -f environment.yml

# activate this new environment
source activate mcfly

To install the package, run in the project directory:

pip install .

Installing on Windows

When installing on Windows, there are a few things to take into consideration. The preferred (in other words: easiest) way to install Keras and mcfly is as follows:

  • Use Anaconda
  • Install numpy and scipy through the conda package manager (and not with pip)
  • Use TensorFlow, and not Theano as a backend (this is the default setting in Keras)
  • Preferably use Python version >= 3.5, because Tensorflow is available on pypi for python 3.5 only
  • To install mcfly, run pip install . in the cmd prompt.

Visualization

We build a tool to visualize the configuration and performance of the models. The tool can be found on http://nlesc.github.io/mcfly/. To run the model visualization on your own computer, cd to the html directory and start up a python web server:

python -m http.server 8888 &

Navigate to http://localhost:8888/ in your browser to open the visualization. For a more elaborate description of the visualization see user manual.

User documentation

Contributing

You are welcome to contribute to the code via pull requests. Please have a look at the NLeSC guide for guidelines about software development.

We use numpy-style docstrings for code documentation.

Licensing

Source code and data of mcfly are licensed under the Apache License, version 2.0.