Giter Site home page Giter Site logo

benjamesbabala / tslearn Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tslearn-team/tslearn

0.0 2.0 0.0 2.27 MB

A machine learning toolkit dedicated to time-series data

License: BSD 2-Clause "Simplified" License

Python 45.79% Makefile 1.76% Jupyter Notebook 50.71% Batchfile 1.74%

tslearn's Introduction

PyPI version Documentation Status Build Status Code Climate Test Coverage

tslearn is a Python package that provides machine learning tools for the analysis of time series. This package builds on scikit-learn, numpy and scipy libraries.

Dependencies

Cython
numpy
scipy
scikit-learn

Installation

Using PyPI

The easiest way to install tslearn is probably via pip:

pip install tslearn

Using latest github-hosted version

If you want to get tslearn's latest version, you can git clone the repository hosted at github:

git clone https://github.com/rtavenar/tslearn.git

Then, you should run the following command for Cython code to compile:

python setup.py build_ext --inplace

Also, for the whole package to run properly, its base directory should be appended to your Python path.

Already available

  • A generators module provides Random Walks generators
  • A datasets module provides access to the famous UCR/UEA datasets through the UCR_UEA_datasets class
  • A preprocessing module provides standard time series scalers
  • A metrics module provides:
    • Dynamic Time Warping (DTW) (with Sakoe-Chiba band and Itakura parallelogram variants)
    • LB_Keogh
    • Global Alignment Kernel
    • Soft-DTW from Cuturi and Blondel
  • A domain adaptation for time series module named adaptation contains:
    • a method for DTW-based non linear resampling that was previously released in dtw_resample repo
  • A neighbors module includes nearest neighbor algorithms to be used with time series
  • A clustering module includes the following time series clustering algorithms:
    • Standard Euclidean k-means (with adequate array reshaping done for you)
      • Based on tslearn.barycenters
    • DBA k-means from Petitjean et al.
      • Based on tslearn.barycenters that offers DBA facility that could be used for other applications than just k-means
    • Global Alignment kernel k-means
    • KShape clustering from Paparizzos and Gravano
    • Soft-DTW k-means from Cuturi and Blondel
      • Based on tslearn.barycenters that offers Soft-DTW barycenter computation
  • A piecewise module includes standard time series transformations, as well as the corresponding distances:
    • Piecewise Aggregate Approximation (PAA)
    • Symbolic Aggregate approXimation (SAX)
    • 1d-Symbolic Aggregate approXimation (1d-SAX)

TODO list

  • Implement Learning Shapelets from Grabocka et al.
  • Add local feature extractors (TransformerMixin) and Bag-of-Word models
  • Add metric learning for time series (Garreau et al.)
  • Add LB_Keogh for nearest neighbor search

If you want other ML methods for time series to be added to this TODO list, do not hesitate to open an issue!

Acknowledgments

Author would like to thank Mathieu Blondel for providing code for Kernel k-means and Soft-DTW (both distributed under BSD license) that is used in the clustering module of this library.

tslearn's People

Contributors

rtavenar avatar

Watchers

James Cloos avatar  avatar

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.