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.5.0
. You can view the full changelog
here.
Our webpage and documentation is available at https://aeon-toolkit.org.
Overview | |
---|---|
CI/CD | |
Code | |
Community |
aeon
requires a Python version of 3.8 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.
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 and
classification.
import pandas as pd
from aeon.forecasting.trend import TrendForecaster
y = pd.Series([20.0, 40.0, 60.0, 80.0, 100.0])
>>> 0 20.0
>>> 1 40.0
>>> 2 60.0
>>> 3 80.0
>>> 4 100.0
>>> dtype: float64
forecaster = TrendForecaster()
forecaster.fit(y) # fit the forecaster
>>> TrendForecaster()
pred = forecaster.predict(fh=[1, 2, 3]) # forecast the next 3 values
>>> 5 120.0
>>> 6 140.0
>>> 7 160.0
>>> dtype: float64
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']
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 |