| 📖 Documentation · ⚙️ Tutorials | |
|---|---|
| CI/CD | |
| Code | |
| Community | |
| Paper |
You can install via pip with:
pip install pyrregularFor third party models use:
pip install pyrregular[models]If you want to see all the datasets available, you can use the list_datasets function:
from pyrregular import list_datasets
df = list_datasets()To load a dataset, you can use the load_dataset function. For example, to load the "Garment" dataset, you can do:
from pyrregular import load_dataset
df = load_dataset("Garment.h5")The dataset is saved in the default os cache directory, which can be found with:
import pooch
print(pooch.os_cache("pyrregular"))The repository is hosted at: https://huggingface.co/datasets/splandi/pyrregular/
To use the dataset for classification, you can just "densify" it:
from pyrregular import load_dataset
df = load_dataset("Garment.h5")
X, _ = df.irr.to_dense()
y, split = df.irr.get_task_target_and_split()
X_train, X_test = X[split != "test"], X[split == "test"]
y_train, y_test = y[split != "test"], y[split == "test"]
# We have ready-to-go models from various libraries:
from pyrregular.models.rocket import rocket_pipeline
model = rocket_pipeline
model.fit(X_train, y_train)
model.score(X_test, y_test)There are several pipelines available in pyrregular.models:
| 💾 Library | 📖 Source | 🔗 Pipeline | ℹ️ Type |
|---|---|---|---|
aeon |
Spinnato et al. (2024) | borf | dictionary-based transform + lgbm classifier |
aeon |
rifc | interval-based transform + lgbm classifier | |
diffrax |
Kidger et al. (2020) | ncde | neural controlled differential equations |
pypots |
Cao et al. (2018) | brits | bidirectional recurrent imputation network |
pypots |
Che et al. (2018) | grud | gated recurrent unit with decay |
pypots |
Zhang et al. (2021) | raindrop | graph neural network |
pypots |
Du et al. (2023) | saits | self-attention-based imputation transformer |
pypots |
Wu et al. (2022) | timesnet | temporal 2d-variation transformer |
sktime |
Ke et al. (2017) | lgbm | gradient boosted tree |
sktime |
Dempster et al. (2021) | rocket | kernel-based transform + lgbm classifier |
sktime |
Bagheri et al. (2016) | svm | support vector machine with distance kernel |
tslearn |
Sakoe & Chiba (1978) | knn | distance-based with dynamic time warping |
Regression is still work in progress, but is available for some datasets:
from pyrregular import load_dataset
from sklearn.pipeline import make_pipeline
from aeon.transformations.collection.dictionary_based import BORF
from sklearn.linear_model import LassoCV
df = load_dataset("Garment.h5")
X, _ = df.irr.to_dense()
y, split = df.irr.get_task_target_and_split("regression")
X_train, X_test = X[split != "test"], X[split == "test"]
y_train, y_test = y[split != "test"], y[split == "test"]
borf_pipeline = make_pipeline(
BORF(),
LassoCV(),
)
model = borf_pipeline
model.fit(X_train, y_train)
model.score(X_test, y_test)| 📈 Dataset | 📖 Source |
|---|---|
| Alembics Bowls Flasks | Spinnato & Landi, 2025 |
| AllGestureWiimoteX | Guna et al., 2014 |
| AllGestureWiimoteY | Guna et al., 2014 |
| AllGestureWiimoteZ | Guna et al., 2014 |
| Animals | Ferrero et al., 2018 |
| AsphaltObstaclesCoordinates | Souza, 2018 |
| AsphaltPavementTypeCoordinates | Souza, 2018 |
| AsphaltRegularityCoordinates | Souza, 2018 |
| CharacterTrajectories | Williams et al., 2006 |
| DodgerLoopDay | Ihler et al., 2006 |
| DodgerLoopGame | Ihler et al., 2006 |
| DodgerLoopWeekend | Ihler et al., 2006 |
| Geolife | Zheng et al., 2009; Zheng et al., 2008; Zheng et al., 2010 |
| GestureMidAirD1 | Caputo et al., 2018 |
| GestureMidAirD2 | Caputo et al., 2018 |
| GestureMidAirD3 | Caputo et al., 2018 |
| GesturePebbleZ1 | Mezari & Maglogiannis, 2018 |
| GesturePebbleZ2 | Mezari & Maglogiannis, 2018 |
| GPS Data of Seabirds | Browning et al., 2018 |
| InsectWingbeat | Chen et al., 2014 |
| JapaneseVowels | Kudo et al., 1999 |
| Localization Data for Person Activity | Vidulin et al., 2010 |
| MelbournePedestrian | City of Melbourne, 2019 |
| MIMIC-III Clinical Database (Demo) | Johnson et al., 2016; Johnson et al., 2019; Goldberger et al., 2000 |
| PAMAP2 Physical Activity Monitoring | Reiss & Stricker, 2012 |
| PhysioNet 2012 | Silva et al., 2012 |
| PhysioNet 2019 | Reyna et al., 2020 |
| PickupGestureWiimoteZ | Guna et al., 2014 |
| PLAID | Gao et al., 2014 |
| Productivity Prediction of Garment Employees | Imran et al., 2021 |
| ShakeGestureWiimoteZ | Guna et al., 2014 |
| SpokenArabicDigits | Hammami & Bedda, 2010 |
| Taxi | Moreira-Matias et al., 2013 |
| Vehicles | Chorochronos Archive, 2019 |
If you use this package in your research, please cite the following paper:
@misc{spinnato2025pyrregular,
title={PYRREGULAR: A Unified Framework for Irregular Time Series, with Classification Benchmarks},
author={Francesco Spinnato and Cristiano Landi},
year={2025},
eprint={2505.06047},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/2505.06047},
}