Skip to main content

scikit-learn compatible toolbox for learning with time series/panel data

Project description

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 roadmap 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,

  • 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:

@misc{sktime,
      author = {Markus Löning and Anthony Bagnall and Sajaysurya Ganesh and Viktor Kazakov
      and Jason Lines and Franz J. Király},
      title = {sktime: A Unified Interface for Machine Learning with Time Series},
      year = {2019},
      eprint = {arXiv:1909.07872},
}

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

sktime_legacy-0.3.1-cp37-cp37m-manylinux2010_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64

sktime_legacy-0.3.1-cp37-cp37m-manylinux1_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.7m

sktime_legacy-0.3.1-cp36-cp36m-manylinux2010_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.12+ x86-64

sktime_legacy-0.3.1-cp36-cp36m-manylinux1_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.6m

File details

Details for the file sktime_legacy-0.3.1-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: sktime_legacy-0.3.1-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.10

File hashes

Hashes for sktime_legacy-0.3.1-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 09006838b212e39c8254924dc55818fe4a4ab02f778dda006b6bbdb198a4ffc5
MD5 7ef120946dd0ae88de5e1c1c6c6b507c
BLAKE2b-256 7be7ab114c294ac71736b2b10ed1edc87aea8c9c51e55561a58f6a7c9c84ba0e

See more details on using hashes here.

File details

Details for the file sktime_legacy-0.3.1-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: sktime_legacy-0.3.1-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.10

File hashes

Hashes for sktime_legacy-0.3.1-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 a8bcb934de541aff59ae5a4ee947a1578bd3f6f804b2071486abaee3d66141e4
MD5 82591e4fd0a9be9bd51ae4a48fa96532
BLAKE2b-256 2c1e46b555c206c7e86ea42e80eb7dfe8d3f597f04cd4f300b9fa4e1dc62156b

See more details on using hashes here.

File details

Details for the file sktime_legacy-0.3.1-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: sktime_legacy-0.3.1-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.10

File hashes

Hashes for sktime_legacy-0.3.1-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 03d3f98cb00ee464375d899f8b80a5ef5828b1a881dd5ea3c12dda7c9f90e01e
MD5 c106649a8bfb9ae43955521e105cb7bf
BLAKE2b-256 a396c3e7666f0ef49f1ce5bccb45236d64fa137c0127eccc1e9f15e4adce184a

See more details on using hashes here.

File details

Details for the file sktime_legacy-0.3.1-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: sktime_legacy-0.3.1-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.10

File hashes

Hashes for sktime_legacy-0.3.1-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 ed6fff0c496cf3f0446ca93e7f9a9f164150d7c512ecea64ce0d5b797fb9c2a5
MD5 b6628c2ea3de712983adc1d5b637ca6a
BLAKE2b-256 8572a77dd6bad292f4a495679ab4a6a3a14af746cbdb6962aec4cfb94fc46a4a

See more details on using hashes here.

Supported by

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