scikit-learn compatible toolbox for learning with time series/panel data
Project description
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
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
Development of a time series annotation framework, including segmentation and outlier detection,
Integration of supervised/panel forecasting based on a modified pysf API,
Unsupervised methods including time series clustering,
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,
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
File details
Details for the file sktime-0.3.1-cp37-cp37m-win_amd64.whl
.
File metadata
- Download URL: sktime-0.3.1-cp37-cp37m-win_amd64.whl
- Upload date:
- Size: 2.4 MB
- Tags: CPython 3.7m, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e916b485346b30e719677addf9c8ee1bf415b5e543f75a7c2389302942c9f34d |
|
MD5 | f0955a63ef89592e40e7a59804795cf9 |
|
BLAKE2b-256 | 030c7ad6a31cf7a676f271ac46156dadc7737ab97f2f956c428d244c137919af |
File details
Details for the file sktime-0.3.1-cp37-cp37m-manylinux1_x86_64.whl
.
File metadata
- Download URL: sktime-0.3.1-cp37-cp37m-manylinux1_x86_64.whl
- Upload date:
- Size: 2.6 MB
- Tags: CPython 3.7m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e712198a61f69182c4654b11dd534e4b77b13e719425a48158ad0859a4b6da0 |
|
MD5 | ff220b436967577e8129e65f9c81788c |
|
BLAKE2b-256 | ed467c2b60c019dc74adc2961cc8f359f22faa6630b541fd98d90c17d317457d |
File details
Details for the file sktime-0.3.1-cp37-cp37m-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: sktime-0.3.1-cp37-cp37m-macosx_10_9_x86_64.whl
- Upload date:
- Size: 2.4 MB
- Tags: CPython 3.7m, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c4ac0f814e1cac220f62d4242a5ca6d095fb862b0059986577ab67494c6f7a2 |
|
MD5 | dbb38c55e22c4d13a019585671f1b8ad |
|
BLAKE2b-256 | 68f36271589e59618f0f1a1ae60c279d5bb943d0bbbe74968e97c3fbf9072533 |