Skip to main content

A machine learning interface for isolated temporal sequence classification algorithms in Python.

Project description

Sequentia

A machine learning interface for isolated temporal sequence classification algorithms in Python.

Introduction

Temporal sequences are sequences of observations that occur over time. Changing patterns over time naturally provide many interesting opportunities and challenges for machine learning.

This library specifically aims to tackle classification problems for isolated temporal sequences by creating an interface to a number of classification algorithms.

Despite these types of sequences sounding very specific, you probably observe some of them on a regular basis!

Some examples of classification problems for isolated temporal sequences include classifying:

  • isolated word utterances in speech audio signals,
  • isolated hand-written characters according to their pen-tip trajectories,
  • isolated hand or head gestures in a video or motion-capture recording.

Features

Sequentia offers the use of multivariate observation sequences with differing durations in conjunction with the following algorithms and methods.

Classication algorithms

  • Ensemble Hidden Markov Models (via Pomegranate [1])
    • Multivariate Gaussian emission distributions
    • Gaussian Mixture Model emission distributions (soon!)
  • Approximate Dynamic Time Warping k-Nearest Neighbors (implemented with FastDTW [2])
  • Long Short-Term Memory Networks (soon!)

Preprocessing methods

  • Normalization (centering observation sequences)
  • Downsampling (by decimation and averaging)
  • Discrete (Fast) Fourier Transform

Parallelization

  • Multi-processing for DTW k-NN predictions

Disclaimer: The package currently remains largely untested and is still in its early pre-alpha stages – use with caution!

Installation

pip install sequentia

Tutorials and examples

For tutorials and examples on the usage of Sequentia, look at the notebooks here!

References

[1] Jacob Schreiber. "pomegranate: Fast and Flexible Probabilistic Modeling in Python." Journal of Machine Learning Research 18 (2018), (164):1-6.
[2] Stan Salvador, and Philip Chan. "FastDTW: Toward accurate dynamic time warping in linear time and space." Intelligent Data Analysis 11.5 (2007), 561-580.

Contributors

All contributions to this repository are greatly appreciated. Contribution guidelines can be found here.

Edwin Onuonga
Edwin Onuonga

✉️ 🌍

Sequentia © 2019-2020, Edwin Onuonga - Released under the MIT License.
Authored and maintained by Edwin Onuonga.

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

sequentia-0.2.0.tar.gz (13.8 kB view details)

Uploaded Source

Built Distribution

sequentia-0.2.0-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

Details for the file sequentia-0.2.0.tar.gz.

File metadata

  • Download URL: sequentia-0.2.0.tar.gz
  • Upload date:
  • Size: 13.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.2

File hashes

Hashes for sequentia-0.2.0.tar.gz
Algorithm Hash digest
SHA256 30d9d2493c6f769f0ea4dd15dfbb950e9daac0787fd5df529730ff84a55be3db
MD5 6a92829b82cfc67cb4f11618fe09026e
BLAKE2b-256 06d83848d0e493ff51b3bc4d7645d3fd077f8ce0153d07b8f8f4c081a436d21a

See more details on using hashes here.

File details

Details for the file sequentia-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: sequentia-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 17.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.2

File hashes

Hashes for sequentia-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 145b9470e2f1754e7cd9fa8704b08c93185448a8db0d0fab93eb009cb3791e36
MD5 32f6f06f64ae23face785aae2d477f9d
BLAKE2b-256 38485c7c161a2c5522a65fb9ff9ada9c57e7084b0d862586cd1760d31f842e25

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