skseries

Python Scikit-Time


License
GPL-3.0
Install
pip install skseries==0.0.1

Documentation

WEASEL 2.0 - A Random Dilated Dictionary Transform for Fast, Accurate and Memory Constrained Time Series Classification

WEASEL 2.0 combines a novel dilation mapping, small dictionaries and hyper-parameter ensembling to obtain a fast, accurate, and constrained memory TSC. WEASEL 2.0 is significantly more accurate than its predecessor dictionary methods (BOSS, TDE, WEASEL), and in the same group as SotA non-ensemble methods.

ArXiv-Paper: https://arxiv.org/abs/2301.10194

Accuracy against dictionary classifiers

UCR_accuracy_subset

Accuracy against SotA classifiers

UCR_accuracy

Runtime against SotA classifiers

UCR_runtime

Installation

Dependencies

aeon >= 0.1.0

Installation

The easiest is to use pip to install weasel-classifier.

a) Install using pip

pip install weasel-classifier

You can also install the project from source.

b) Build from Source

First, download the repository.

git clone https://github.com/patrickzib/dictionary.git

Change into the directory and build the package from source.

pip install .

Train a WEASEL 2.0 classifier

WEASEL v2 follows the aeon pipeline.

from aeon.datasets import load_arrow_head
from weasel.classification.dictionary_based import WEASEL_V2

X_train, y_train = load_arrow_head(split="train", return_type="numpy3d")
X_test, y_test = load_arrow_head(split="test", return_type="numpy3d")
clf = WEASEL_V2(random_state=1379, n_jobs=4)
clf.fit(X_train,y_train)
clf.predict(X_test)

Citing

If you use this algorithm or publication, please cite (ArXiv: https://arxiv.org/abs/2301.10194):

@article{schaefer2023weasel2,
  author = {Schäfer, Patrick and Leser, Ulf},
  title = {{WEASEL 2.0 - A Random Dilated Dictionary Transform for Fast, Accurate and Memory Constrained Time Series Classification}},
  journal={arXiv preprint arXiv:2301.10194},
  year = {2023},
}