Skip to main content

A unified Python toolbox for machine learning with time series

Project description

Welcome to sktime

A unified interface for machine learning with time series

:rocket: Version 0.9.0 out now! Check out the release notes here.

sktime is a library for time series analysis in Python. It provides a unified interface for multiple time series learning tasks. Currently, this includes time series classification, regression, clustering, annotation and forecasting. It comes with time series algorithms and scikit-learn compatible tools to build, tune and validate time series models.

Overview
CI/CD github-actions !appveyor !azure-devops !codecov readthedocs
Code !pypi !conda !python-versions !black Binder
Downloads Downloads Downloads Downloads
Community !slack !discord !gitter !twitter !youtube
Citation !zenodo

:books: Documentation

Documentation
:star: Tutorials New to sktime? Here's everything you need to know!
:clipboard: Binder Notebooks Example notebooks to play with in your browser.
:woman_technologist: User Guides How to use sktime and its features.
:scissors: Extension Templates How to build your own estimator using sktime's API.
:control_knobs: API Reference The detailed reference for sktime's API.
:tv: Video Tutorial Our video tutorial from the 2020 PyData Festival.
:hammer_and_wrench: Changelog Changes and version history.
:deciduous_tree: Roadmap sktime's software and community development plan.
:pencil: Related Software A list of related software.

:speech_balloon: Where to ask questions

Questions and feedback are extremely welcome! Please understand that we won't be able to provide individual support via email. We also believe that help is much more valuable if it's shared publicly, so that more people can benefit from it.

Type Platforms
:bug: Bug Reports GitHub Issue Tracker
:sparkles: Feature Requests & Ideas GitHub Issue Tracker
:woman_technologist: Usage Questions GitHub Discussions · Stack Overflow
:speech_balloon: General Discussion GitHub Discussions · Gitter · Discord

:dizzy: Features

Our aim is to make the time series analysis ecosystem more interoperable and usable as a whole. sktime provides a unified interface for distinct but related time series learning tasks. It features dedicated time series algorithms and tools for composite model building including pipelining, ensembling, tuning and reduction that enables users to apply an algorithm for one task to another.

sktime also provides interfaces to related libraries, for example scikit-learn, statsmodels, tsfresh, PyOD and fbprophet, among others.

For deep learning, see our companion package: sktime-dl.

Module Status Links
Forecasting stable Tutorial · API Reference · Extension Template
Time Series Classification stable Tutorial · API Reference · Extension Template
Time Series Regression stable API Reference
Transformations maturing API Reference · Extension Template
Time Series Clustering experimental Extension Template
Time Series Distances/Kernels experimental Extension Template
Annotation experimental Extension Template

:hourglass_flowing_sand: Install sktime

For trouble shooting and detailed installation instructions, see the documentation.

  • Operating system: macOS X · Linux · Windows 8.1 or higher
  • Python version: Python 3.6, 3.7 and 3.8 (only 64 bit)
  • Package managers: pip · conda (via conda-forge)

pip

Using pip, sktime releases are available as source packages and binary wheels. You can see all available wheels here.

pip install sktime

or, with maximum dependencies,

pip install sktime[all_extras]

conda

You can also install sktime from conda via the conda-forge channel. For the feedstock including the build recipe and configuration, check out this repository.

conda install -c conda-forge sktime

or, with maximum dependencies,

conda install -c conda-forge sktime-all-extras

:zap: Quickstart

Forecasting

from sktime.datasets import load_airline
from sktime.forecasting.base import ForecastingHorizon
from sktime.forecasting.model_selection import temporal_train_test_split
from sktime.forecasting.theta import ThetaForecaster
from sktime.performance_metrics.forecasting import mean_absolute_percentage_error

y = load_airline()
y_train, y_test = temporal_train_test_split(y)
fh = ForecastingHorizon(y_test.index, is_relative=False)
forecaster = ThetaForecaster(sp=12)  # monthly seasonal periodicity
forecaster.fit(y_train)
y_pred = forecaster.predict(fh)
mean_absolute_percentage_error(y_test, y_pred)
>>> 0.08661467738190656

Time Series Classification

from sktime.classification.interval_based import TimeSeriesForestClassifier
from sktime.datasets import load_arrow_head
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

X, y = load_arrow_head(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y)
classifier = TimeSeriesForestClassifier()
classifier.fit(X_train, y_train)
y_pred = classifier.predict(X_test)
accuracy_score(y_test, y_pred)
>>> 0.8679245283018868

:wave: How to get involved

There are many ways to join the sktime community. We follow the all-contributors specification: all kinds of contributions are welcome - not just code.

Documentation
:gift_heart: Contribute How to contribute to sktime.
:school_satchel: Mentoring New to open source? Apply to our mentoring program!
:date: Meetings Join our discussions, tutorials, workshops and sprints!
:woman_mechanic: Developer Guides How to further develop sktime's code base.
:construction: Enhancement Proposals Design a new feature for sktime.
:medal_sports: Contributors A list of all contributors.
:raising_hand: Roles An overview of our core community roles.
:money_with_wings: Donate Fund sktime maintenance and development.
:classical_building: Governance How and by whom decisions are made in sktime's community.

:bulb: Project vision

  • by the community, for the community -- developed by a friendly and collaborative community.
  • the right tool for the right task -- helping users to diagnose their learning problem and suitable scientific model types.
  • embedded in state-of-art ecosystems and provider of interoperable interfaces -- interoperable with scikit-learn, statsmodels, tsfresh, and other community favourites.
  • rich model composition and reduction functionality -- build tuning and feature extraction pipelines, solve forecasting tasks with scikit-learn regressors.
  • clean, descriptive specification syntax -- based on modern object-oriented design principles for data science.
  • fair model assessment and benchmarking -- build your models, inspect your models, check your models, avoid pitfalls.
  • easily extensible -- easy extension templates to add your own algorithms compatible with sktime's API.

Project details


Release history Release notifications | RSS feed

This version

0.9.0

Download files

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

Source Distribution

sktime-0.9.0.tar.gz (12.8 MB view details)

Uploaded Source

Built Distributions

sktime-0.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

sktime-0.9.0-cp39-cp39-macosx_10_15_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.9 macOS 10.15+ x86-64

sktime-0.9.0-cp38-cp38-win_amd64.whl (4.8 MB view details)

Uploaded CPython 3.8 Windows x86-64

sktime-0.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

sktime-0.9.0-cp38-cp38-macosx_10_15_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.8 macOS 10.15+ x86-64

sktime-0.9.0-cp37-cp37m-win_amd64.whl (4.8 MB view details)

Uploaded CPython 3.7m Windows x86-64

sktime-0.9.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.2 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

sktime-0.9.0-cp37-cp37m-macosx_10_15_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.7m macOS 10.15+ x86-64

sktime-0.9.0-cp36-cp36m-win_amd64.whl (4.8 MB view details)

Uploaded CPython 3.6m Windows x86-64

sktime-0.9.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.2 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

sktime-0.9.0-cp36-cp36m-macosx_10_15_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.6m macOS 10.15+ x86-64

File details

Details for the file sktime-0.9.0.tar.gz.

File metadata

  • Download URL: sktime-0.9.0.tar.gz
  • Upload date:
  • Size: 12.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for sktime-0.9.0.tar.gz
Algorithm Hash digest
SHA256 a0fd80d5d7702f4a5b6fed3bb96273a4962f146f7337590a0ad3a26620f5a179
MD5 f4a1384765055524a4c061dba50f3005
BLAKE2b-256 4de64cef66be9de556c0f310eb04546b650150d66deaccca368c20f4d962922e

See more details on using hashes here.

Provenance

File details

Details for the file sktime-0.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sktime-0.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dba310716dddc90985f756c35039b9c717b8786310a62301278c877d0aef297d
MD5 0aea1003a44c893e467cbac8aea7c833
BLAKE2b-256 2210715b466800922fd70f7c8cd8c399f57bd49e5c6bcad64232d7e90129a6f0

See more details on using hashes here.

Provenance

File details

Details for the file sktime-0.9.0-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: sktime-0.9.0-cp39-cp39-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 4.9 MB
  • Tags: CPython 3.9, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for sktime-0.9.0-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 b9d743d5388988d9db076ee3a72859a4fc069540b00ffbeff0f549cf79d7d65e
MD5 d3f92acdd28979846833dd1f90a4f5e3
BLAKE2b-256 e18f2fc099cbbe328096c3bafdf82a6b4929c317753759820422f0a7a981c346

See more details on using hashes here.

Provenance

File details

Details for the file sktime-0.9.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: sktime-0.9.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 4.8 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for sktime-0.9.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 012b777b7600174c5b74040a8d07c57a16b3d31e26d249da21d36b0529ca6b93
MD5 6a4323da4aefbe0bb0a287efa74f1f21
BLAKE2b-256 38a1465c548cf649ef14da1172e7a0f660e1526a7b9c98325ddb1bc9c268133f

See more details on using hashes here.

Provenance

File details

Details for the file sktime-0.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sktime-0.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9ae4395f44205b4f841b52a55c38dfd9e9a88fe07523fcd6b1afbb7e67e78a99
MD5 30471126823b5f96bdcb6905af97c384
BLAKE2b-256 5548cf1b05b6bbe2956e960cb72160ae4d3a161141c0a49e09b98c97c9638815

See more details on using hashes here.

Provenance

File details

Details for the file sktime-0.9.0-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: sktime-0.9.0-cp38-cp38-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 4.9 MB
  • Tags: CPython 3.8, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for sktime-0.9.0-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 79a73b04d0260f7a300d6e47024ed22b51c71ac7b85c4bc02633264849c02ada
MD5 9da3853d497a369c68d2e5d16051b5d7
BLAKE2b-256 90c06898312b3dcb2c785a747a7c1d2d947c24b4366e32674787caf60371f48d

See more details on using hashes here.

Provenance

File details

Details for the file sktime-0.9.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: sktime-0.9.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 4.8 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.11

File hashes

Hashes for sktime-0.9.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 552443f90701242fe08bf6d12421de40b705851032d213f986299a783081aa31
MD5 9b12af1d42de86293dfb329adb98e576
BLAKE2b-256 dcb58c45485956c9e0b636cc05646bf506c587c740b02150ff1c11afde7dc952

See more details on using hashes here.

Provenance

File details

Details for the file sktime-0.9.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sktime-0.9.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1e3e35a2b2b252b4e8c1befe9e57d970159a96f4679406a112f2613443740342
MD5 b9bf641a80ad22633bbd44d8510da53d
BLAKE2b-256 38bf9c5c88afee1bdac7674082399d8e43817202de3f604615e37ef9c24a39b6

See more details on using hashes here.

Provenance

File details

Details for the file sktime-0.9.0-cp37-cp37m-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: sktime-0.9.0-cp37-cp37m-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 4.9 MB
  • Tags: CPython 3.7m, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for sktime-0.9.0-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 c34e4862608902be660ac7d304cd1507ef774de5842a0741a856ac2f6ab0e45d
MD5 05c61bce75f7535e0e401ec11637614a
BLAKE2b-256 8a6c9b528c301333256c9f72ec4eb3bc5e854e49f033fa4ca08bc49dad9b8696

See more details on using hashes here.

Provenance

File details

Details for the file sktime-0.9.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: sktime-0.9.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 4.8 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.13

File hashes

Hashes for sktime-0.9.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 79cd096c3607a80ed2c9d4671a506a677b99f6d9e0cc92572500d3eab1b72b23
MD5 4bba2c0d9a07cbf6627263ac59206fae
BLAKE2b-256 30d7ec3d2152a3930678d0b7894b60f0f47efe9308d09d9df6f5ed1b891c44af

See more details on using hashes here.

Provenance

File details

Details for the file sktime-0.9.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sktime-0.9.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3d80cfaf80cca6093e0b86241109d836d6ebe0a570240d19b4152f647935c17a
MD5 cecd82c1bca5c851389531f9adca1120
BLAKE2b-256 7372840c32b4dba236cfdbd3d046bc553d3ecfe44079bcede3ea8f000ca4396d

See more details on using hashes here.

Provenance

File details

Details for the file sktime-0.9.0-cp36-cp36m-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: sktime-0.9.0-cp36-cp36m-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 4.9 MB
  • Tags: CPython 3.6m, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.15

File hashes

Hashes for sktime-0.9.0-cp36-cp36m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 5ed471c4d20718ffb43b4c69d9ab1fc88062cf8e99688ac6b464cdb74b5cb550
MD5 f87293784c3cfb640c6bcb8e02a8113e
BLAKE2b-256 cef2189a4efb53abd2bb11b92c860d5a03f2d47d38a56a7a81447c2a415b177f

See more details on using hashes here.

Provenance

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