A toolkit for machine learning from time series
Project description
⌛ Welcome to aeon
aeon
is an open-source toolkit for learning from time series. It is compatible with
scikit-learn and provides access to the very latest
algorithms for time series machine learning, in addition to a range of classical
techniques for learning tasks such as forecasting and classification.
We strive to provide a broad library of time series algorithms including the latest advances, offer efficient implementations using numba, and interfaces with other time series packages to provide a single framework for algorithm comparison.
The latest aeon
release is v0.11.1
. You can view the full changelog
here.
Our webpage and documentation is available at https://aeon-toolkit.org.
The following modules are still considered experimental, and the deprecation policy does not apply:
anomaly_detection
, benchmarking
, segmentation
, similarity_search
,
testing
, transformations/series
, visualisation
Overview | |
---|---|
CI/CD | |
Code | |
Community |
⚙️ Installation
aeon
requires a Python version of 3.9 or greater. Our full installation guide is
available in our documentation.
The easiest way to install aeon
is via pip:
pip install aeon
Some estimators require additional packages to be installed. If you want to install the full package with all optional dependencies, you can use:
pip install aeon[all_extras]
Instructions for installation from the GitHub source can be found here.
⏲️ Getting started
The best place to get started for all aeon
packages is our getting started guide.
Below we provide a quick example of how to use aeon
for forecasting,
classification and clustering.
Classification
It's worth mentioning that the classifier used in the example can easily be swapped out for a regressor, and the labels for numeric targets. This flexibility allowing for seamless adaptation to different tasks and datasets while preserving API consistency.
import numpy as np
from aeon.classification.distance_based import KNeighborsTimeSeriesClassifier
X = [[[1, 2, 3, 4, 5, 5]], # 3D array example (univariate)
[[1, 2, 3, 4, 4, 2]], # Three samples, one channel, six series length,
[[8, 7, 6, 5, 4, 4]]]
y = ['low', 'low', 'high'] # class labels for each sample
X = np.array(X)
y = np.array(y)
clf = KNeighborsTimeSeriesClassifier(distance="dtw")
clf.fit(X, y) # fit the classifier on train data
>>> KNeighborsTimeSeriesClassifier()
X_test = np.array(
[[[2, 2, 2, 2, 2, 2]], [[5, 5, 5, 5, 5, 5]], [[6, 6, 6, 6, 6, 6]]]
)
y_pred = clf.predict(X_test) # make class predictions on new data
>>> ['low' 'high' 'high']
Clustering
import numpy as np
from aeon.clustering import TimeSeriesKMeans
X = np.array([[[1, 2, 3, 4, 5, 5]], # 3D array example (univariate)
[[1, 2, 3, 4, 4, 2]], # Three samples, one channel, six series length,
[[8, 7, 6, 5, 4, 4]]])
clu = TimeSeriesKMeans(distance="dtw", n_clusters=2)
clu.fit(X) # fit the clusterer on train data
>>> TimeSeriesKMeans(distance='dtw', n_clusters=2)
clu.labels_ # get training cluster labels
>>> array([0, 0, 1])
X_test = np.array(
[[[2, 2, 2, 2, 2, 2]], [[5, 5, 5, 5, 5, 5]], [[6, 6, 6, 6, 6, 6]]]
)
clu.predict(X_test) # Assign clusters to new data
>>> array([1, 0, 0])
💬 Where to ask questions
Type | Platforms |
---|---|
🐛 Bug Reports | GitHub Issue Tracker |
✨ Feature Requests & Ideas | GitHub Issue Tracker & Slack |
💻 Usage Questions | GitHub Discussions & Slack |
💬 General Discussion | GitHub Discussions & Slack |
🏭 Contribution & Development | Slack |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file aeon-0.11.1.tar.gz
.
File metadata
- Download URL: aeon-0.11.1.tar.gz
- Upload date:
- Size: 8.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c83930f5527ed90848804150af8cebe276209903373c13c40e0be59064a94d8 |
|
MD5 | cf5d384d5689b0a4bccb2a9308371bcf |
|
BLAKE2b-256 | 5aa59405a5f8f1be9cd8791753f0e710dda1f6c0076a226d76cf10cf09c01201 |
File details
Details for the file aeon-0.11.1-py3-none-any.whl
.
File metadata
- Download URL: aeon-0.11.1-py3-none-any.whl
- Upload date:
- Size: 8.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2578aea1c124144ef5fdb3120e88c8317e7824a4d6b7e046af3b7993d8be9743 |
|
MD5 | 1059b4a746bcf0792690869c3d212fab |
|
BLAKE2b-256 | 8c08d3a6d24cee824ab2598c40459e1209ecba4f03b5230b379ecf3019c65f38 |