Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/wildboar-foundation/wildboar

wildboar is a Python module for temporal machine learning
https://github.com/wildboar-foundation/wildboar

cython distance-measures dtw dynamic-time-warping euclidean-distances machine-learning numpy python scipy timeseries

Last synced: about 12 hours ago
JSON representation

wildboar is a Python module for temporal machine learning

Awesome Lists containing this project

README

        


Wildboar logo

wildboar







[wildboar](https://wildboar.dev/) is a Python module for temporal machine learning and fast
distance computations built on top of
[scikit-learn](https://scikit-learn.org) and [numpy](https://numpy.org)
distributed under the BSD 3-Clause license.

It is currently maintained by Isak Samsten

## Features

| **Data** | **Classification** | **Regression** | **Explainability** | **Metric** | **Unsupervised** | **Dimension selection** | **Outlier** |
| --------------------------------------------------------------- | ------------------------------ | ----------------------------- | ------------------------------ | ---------- | ---------------------------- | ----------------------------- | ------------------------- |
| [Repositories](https://wildboar.dev/master/guide/datasets.html) | `ShapeletForestClassifier` | `ShapeletForestRegressor` | `ShapeletForestCounterfactual` | UCR-suite | `ShapeletForestTransform` | `DimensionVarianceThreshold` | `IsolationShapeletForest` |
| Classification (`wildboar/ucr`) | `ExtraShapeletTreesClassifier` | `ExtraShapeletTreesRegressor` | `KNearestCounterfactual` | MASS | `RandomShapeletEmbedding` | `SelectDimensionPercentile` | |
| Regression (`wildboar/tsereg`) | `RocketTreeClassifier` | `RocketRegressor` | `PrototypeCounterfactual` | DTW | `RocketTransform` | `SelectDimensionTopK` | |
| Outlier detection (`wildboar/outlier:easy`) | `RocketClassifier` | `RandomShapeletRegressor` | `IntervalImportance` | DDTW | `IntervalTransform` | `SelectDimensionSignificance` | |
| | `RandomShapeletClassifier` | `RocketTreeRegressor` | `ShapeletImportance` | WDTW | `FeatureTransform` | | |
| | `RocketForestClassifier` | `RocketForestRegressor` | | MSM | `MatrixProfileTransform` | | |
| | `IntervalTreeClassifier` | `IntervalTreeRegressor` | | TWE | `FlossSegmenter` | | |
| | `IntervalForestClassifier` | `IntervalForestRegressor` | | LCSS | Motif discovery | | |
| | `ProximityTreeClassifier` | `CastorRegressor` | | ERP | `SAX` | | |
| | `ProximityForestClassifier` | | | EDR | `PAA` | | |
| | `HydraClassifier` | | | ADTW | `MatrixProfileTransform` | | |
| | `KNeighborsClassifier` | | | | `HydraTransform` | | |
| | `ElasticEnsembleClassifier` | | | | `KMeans` with (W)DTW support | | |
| | `DilatedShapeletClassifier` | | | | `KMedoids` | | |
| | `CastorClassifier` | | | | `DilatedShapeletTransform` | | |
| | | | | | `CastorTransform` | | |
| | | | | | `QuantTransform` | | |

See the [documentation](https://wildboar.dev/master/) for examples.

## Installation

### Binaries

`wildboar` is available through `pip` and can be installed with:

pip install wildboar

Universal binaries are compiled for Python 3.9, 3.10, 3.11 and 3.12 running on
GNU/Linux, Windows and macOS.

### 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](https://wildboar.dev/master/install.html#build-and-compile-from-source)

## Usage

```python
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)
```

The [User guide](https://wildboar.dev/master/guide.html) includes more
detailed usage instructions.

## Changelog

The [changelog](https://wildboar.dev/master/more/whatsnew.html) records a
history of notable changes to `wildboar`.

## Development

Contributions are welcome! The [developer's
guide](https://wildboar.dev/master/more/contributing.html) has detailed
information about contributing code and more!

In short, pull requests should:

- be well motivated
- be formatted using Black
- add relevant tests
- add relevant documentation

## Source code

You can check the latest sources with the command:

git clone https://github.com/wildboar-foundation/wildboar

## Documentation

- HTML documentation: [https://wildboar.dev](https://wildboar.dev)

## 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`