Skip to main content

Deep learning for time series data

Project description

Build Status AppVeyor Build Status Coverage PyPI 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.

If you use mcfly in your research, please cite the following software paper:

D. van Kuppevelt, C. Meijer, F. Huber, A. van der Ploeg, S. Georgievska, V.T. van Hees. Mcfly: Automated deep learning on time series. SoftwareX, Volume 12, 2020. doi: 10.1016/j.softx.2020.100548

Installation

Prerequisites:

  • Python 3.6, 3.7 or 3.8
  • pip
  • Tensorflow 2.0, if pip errors that it can't find it for your python/pip version

Installing all dependencies in separate 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:

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

User and code 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.

Necessary steps for making a new release

  • Check citation.cff using general DOI for all version (option: create file via 'cffinit')
  • Create .zenodo.json file from CITATION.cff (using cffconvert)
    cffconvert --validate
    cffconvert --ignore-suspect-keys --outputformat zenodo --outfile .zenodo.json
  • Set new version number in mcfly/_version.py
  • Edit Changelog (based on commits in https://github.com/NLeSC/mcfly/compare/v1.0.1...master)
  • Create Github release
  • Upload to pypi:
    python setup.py sdist bdist_wheel
    python -m twine upload --repository-url https://upload.pypi.org/legacy/ dist/*
    (or python -m twine upload --repository-url https://test.pypi.org/legacy/ dist/* to test first)
  • Check doi on zenodo
  • If the visualization has changed, deploy it to github pages:
git subtree push --prefix html origin gh-pages

Licensing

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcfly-3.1.0.tar.gz (17.3 kB view details)

Uploaded Source

Built Distribution

mcfly-3.1.0-py3-none-any.whl (25.3 kB view details)

Uploaded Python 3

File details

Details for the file mcfly-3.1.0.tar.gz.

File metadata

  • Download URL: mcfly-3.1.0.tar.gz
  • Upload date:
  • Size: 17.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0.post20200712 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.5

File hashes

Hashes for mcfly-3.1.0.tar.gz
Algorithm Hash digest
SHA256 8ed9858796f73a4dbe9221b98b21e9ede0d64d2cff465b736e7246d727ad54b7
MD5 8e14de94d7d3c9046e7a9d07f7fd49f9
BLAKE2b-256 09e9ad13a5ea1d98ac7c687163b368bff85e9f676e20a3631947c4773ca709b7

See more details on using hashes here.

File details

Details for the file mcfly-3.1.0-py3-none-any.whl.

File metadata

  • Download URL: mcfly-3.1.0-py3-none-any.whl
  • Upload date:
  • Size: 25.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0.post20200712 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.5

File hashes

Hashes for mcfly-3.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 602ea99cadd30c275009415000f7751f2cf97f5e535c9a3b18d729a8d28ff316
MD5 a164a1fa507b934fe4e1bf54341e4680
BLAKE2b-256 c979e9955782bd2edb1cc76e1ef16b7a2a3f9d856bc6a33141a68e1b397f2be1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page