This tutorial is about sktime - a unified framework for machine learning with time series. sktime contains algorithms and tools for building, applying, evaluating modular pipelines and composites for a variety of time series learning tasks, including forecasting, classification, regression.
sktime
is easily extensible by anyone, and interoperable with the python data science stack.
This workshop gives a hands-on introduction to sktime, for common time series learning tasks such as forecasting, and an overview of different model categories, including classical statistical, ML, deep learning, and foundation models.
In the tutorial, we will move through notebooks section by section.
You have different options how to run the tutorial notebooks:
- Run the notebooks in the cloud on Binder - for this you don't have to install anything!
- this will not install heavy dependencies such as deep learning or foundation models
- Run the notebooks on your machine. Clone this repository, get conda, install the required packages in an environment, and open the notebooks with that environment. For detail instructions, see below. For troubleshooting, see sktime's more detailed installation instructions.
- or, use python venv, and/or an editable install of this repo as a package. Instructions below.
Please let us know on the sktime discord if you have any issues during the conference, or join to ask for help anytime.
The workshop provides an up-to-date introduction to sktime base features, with a focus on forecasting.
The workshop will cover: introduction to basic usage of sktime; overview of different model types and categories in sktime; some advanced forecasting vignettes; short pointers on interface conformant extension and contribution.
sktime is developed by an open community, with aims of ecosystem integration in a neutral, charitable space. We welcome contributions and seek to provides opportunity for anyone worldwide.
We invite anyone to get involved as a developer, user, supporter (or any combination of these).
-
EuroSciPy 2024 - Hierarchical, global forecasting, foundation models, extensions and marketplace
-
Pydata Global 2023 - General sktime introduction, new features 2023
-
Europython 2023 - General sktime introduction, half-day workshop
-
PyCon Prague 2023 - Forecasting, Advanced Pipelines, Benchmarking
-
Pydata Amsterdam 2023 - Probabilistic prediction, forecasting, evaluation
-
ODSC Europe 2023 - Forecasting, Pipelines, and ML Engineering
-
Pydata London 2023 - Time Series Classification, Regression, Distances & Kernels
-
Pydata London 2022 - How to implement your own estimator in sktime
If you're interested in contributing to sktime, you can find out more how to get involved here.
Any contributions are welcome, not just code!
To run the notebooks locally, you will need:
- a local repository clone
- a python environment with required packages installed
- a jupyter notebook viewer using the kernel with that environment
Below instructions explain how to create a local clone, and how to install a suitable python environment.
Then, in your notebook viewer, open the respective notebook file, and select a kernel using the environment (how to do this depends on your notebook viewer - if you do not have a notebook viewer set up, we recommend to use binder).
There are two requirements files, since installing dependencies for foundation models takes long due to large package sizes. During the live tutorial, we recommend using binder for the latter to avoid long download and install times.
requirements_lite.txt
for "lightweight" packages used in notebooks 0-2requirements_dl.txt
for deep learning and foundation models, notebook 3- the demo package from notebook 4 can be installed directly
To clone the repository locally:
git clone https://github.com/sktime/sktime-workshop-pyconpl2024
Open a console and navigate to the root of the repository clone.
- Create a python virtual environment:
conda create -y -n sktime_pyconpl python=3.12
- Activate your environment:
conda activate sktime_pyconpl
- Install required packages:
pip install -r requirements_lite.txt
- If using jupyter: make the environment available in jupyter:
python -m ipykernel install --user --name=sktime_pyconpl
- Create a python virtual environment:
python -m venv sktime_pyconpl
- Activate your environment:
source sktime_pyconpl/bin/activate
for Linuxsktime_pydata/Scripts/activate
for Windows
- Install the requirements:
pip install -r requirements_lite
- If using jupyter: make the environment available in jupyter:
python -m ipykernel install --user --name=sktime_pyconpl
To set up an environment with deep learning dependencies, repeat the above with requirements_full
instead of requirements_lite
,
you may need to use a new environment name, e.g., sktime_pyconpl_with_dl
.
To install the example package, from the repository root, type
pip install -e ./example_package
The option -e
ensures that the install is editable, i.e., changes to the package will be directly reflected in the environment after a kernel restart.