Code Monkey home page Code Monkey logo

sktime's Introduction

travis_ appveyor_ pypi_ gitter_ binder_

sktime

A scikit-learn compatible Python toolbox for learning with time series. sktime currently supports:

  • State-of-the-art time series classification and regression algorithms,
  • Classical forecasting including reduction strategies to regression,
  • Benchmarking and post-hoc evaluation methods based on mlaut.

For deep learning methods, we have a separate extension package: sktime-dl.

sktime is under active development and we are looking for contributors. You can find our development road map below.

Installation

The package is available via PyPI using:

pip install sktime

But note that the package is actively being developed and currently not feature stable.

Development version

To install the development version, please see our advanced installation instructions.

Documentation

  • Tutorials can be found in the examples folder or can be launched directly on Binder.
  • The full API documentation can be found here.

Overview

sktime extends the standard scikit-learn API to handle modular workflows for time series and panel data. The goal is to create a unified interface for various distinct but closely related learning tasks that arise in a temporal data context, such as time series classification or forecasting. To find our more, take a look at our paper.

Currently, the package implements:

  • Various state-of-the-art algorithms for time series classification and regression, ported from the Java-based tsml toolkit,
  • Transformers, including series-to-series transforms (e.g. Fourier transform), series-to-primitives transforms a.k.a. feature extractors (e.g. mean, variance), sub-divided into fittables (on table) and row-wise applicates,
  • Pipelining, allowing to chain multiple transformers with a final estimator,
  • Meta-estimators such as reduction strategies, grid-search tuners and ensembles, including ensembles for multivariate time series classification,
  • Composite strategies, such as a fully customisable random forest for time-series classification, with interval segmentation and feature extraction,
  • Classical forecasting algorithms and reduction strategies to solve forecasting tasks with time series regression algorithms.

In addition, sktime includes a high-level API that unifies multiple learning tasks, partially inspired by the APIs of mlr and openML. In particular, we introduce:

  • Task objects that encapsulate meta-data from a dataset and the necessary information about the particular learning task, e.g. the instructions on how to derive the target/labels for classification from the data,
  • Strategy objects that wrap estimators and allow to call fit and predict methods using data and a task object.

Development road map

  1. Development of a time series annotation framework, including segmentation and outlier detection,
  2. Integration of supervised/panel forecasting based on a modified pysf API,
  3. Unsupervised methods including time series clustering,
  4. Design and implementation of a specialised data container for efficient handling of time series/panel data in a modelling workflow and separation of time series meta-data,
  5. Development of a probabilistic modelling framework for time series, including survival and point process models based on an adapted skpro interface.

Contributions

We are actively looking for contributors. Please contact @fkiraly or @jasonlines for volunteering or information on paid opportunities, or simply chat with us or raise an issue.

Please also take a look at our Code of Conduct and contributing guidelines.

Former and current contributors to the API design and project management include:

  • API design: Anthony Bagnall, Sajaysurya Ganesh, Viktor Kazakov, Franz Király, Jason Lines, Markus Löning
  • Project management: Anthony Bagnall, Franz Király, Jason Lines, Markus Löning

How to cite sktime

If you use sktime in a scientific publication, we would appreciate citations to the following paper:

Bibtex entry:

@inproceedings{sktime,
    author = {L{\"{o}}ning, Markus and Bagnall, Anthony and Ganesh, Sajaysurya and Kazakov, Viktor and Lines, Jason and Kir{\'{a}}ly, Franz J},
    booktitle = {Workshop on Systems for ML at NeurIPS 2019},
    title = {{sktime: A Unified Interface for Machine Learning with Time Series}},
    date = {2019},
}

sktime's People

Contributors

mloning avatar tonybagnall avatar sajaysurya avatar goastler avatar jasonlines avatar viktorkaz avatar matthewmiddlehurst avatar prockenschaub avatar jesellier avatar fkiraly avatar oleskiewicz avatar simone-pignotti avatar matteogales avatar claudiasanches avatar dasgupsa avatar

Watchers

James Cloos 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.