wildboar

Python version Build, test and upload to PyPI PyPI version Downloads DOI

wildboar is a Python module for temporal machine learning and fast distance computations built on top of scikit-learn and numpy distributed under the GNU Lesser General Public License Version 3.

It is currently maintained by Isak Samsten

Features

Data Classification Regression Explainability Metric Unsupervised Outlier
Repositories ShapeletForestClassifier ShapeletForestRegressor ShapeletForestCounterfactual UCR-suite ShapeletForestEmbedding IsolationShapeletForest
Classification (wildboar/ucr) ExtraShapeletTreesClassifier ExtraShapeletTreesRegressor KNearestCounterfactual MASS RandomShapeletEmbedding
Regression (wildboar/tsereg) RocketTreeClassifier RocketRegressor PrototypeCounterfactual RocketEmbedding
Outlier detection (wildboar/outlier:easy) RocketClassifier RandomShapeletRegressor IntervalImportance IntervalEmbedding
RandomShapeletClassifier RocketTreeRegressor FeatureEmbedding
RockestClassifier RockestRegressor matrix_profile
IntervalTreeClassifier IntervalTreeRegressor Regime change detection
IntervalForestClassifier IntervalForestRegressor Motif discovery

Installation

Dependencies

wildboar requires:

  • python>=3.7
  • numpy>=1.17.4
  • scikit-learn>=0.21.3
  • scipy>=1.3.2

Some parts of wildboar is implemented using Cython. Hence, compilation requires:

  • cython (>= 0.29.14)

Binaries

wildboar is available through pip and can be installed with:

pip install wildboar

Universal binaries are compiled for GNU/Linux and Python 3.7, 3.8 and 3.9.

Compilation

If you already have a working installation of numpy, scikit-learn, scipy and cython, compiling and installing wildboar is as simple as:

pip install .

To install the requirements, use:

pip install -r requirements.txt

For complete instructions see the documentation

Development

Contributions are welcome. Pull requests should be formatted using Black.

Usage

from wildboar.ensemble import ShapeletForestClassifier
from wildboar.datasets import load_dataset
x_train, x_test, y_train, y_test = load_dataset("GunPoint", merge_train_test=False)
c = ShapeletForestClassifier()
c.fit(x_train, y_train)
c.score(x_test, y_test)

See the tutorial for more examples.

Source code

You can check the latest sources with the command:

git clone https://github.com/isakkarlsson/wildboar

Documentation

Citation

If you use wildboar in a scientific publication, I would appreciate citations to the paper:

  • Karlsson, I., Papapetrou, P. Bostrรถm, H., 2016. Generalized Random Shapelet Forests. In the Data Mining and Knowledge Discovery Journal

    • ShapeletForestClassifier
  • Isak Samsten, 2020. isaksamsten/wildboar: wildboar. Zenodo. doi:10.5281/zenodo.4264063

  • Karlsson, I., Rebane, J., Papapetrou, P. et al. Locally and globally explainable time series tweaking. Knowl Inf Syst 62, 1671โ€“1700 (2020)

    • ShapeletForestCounterfactual
    • KNearestCounterfactual

Wildboar

wildboar is a Python module for temporal machine learning

Wildboar Info

โญ Stars 17
๐Ÿ”— Source Code github.com
๐Ÿ•’ Last Update a month ago
๐Ÿ•’ Created 4 years ago
๐Ÿž Open Issues 2
โž— Star-Issue Ratio 9
๐Ÿ˜Ž Author isaksamsten