aeon
A toolkit for time series machine learning and deep learning
Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
18 of 320 committers (5.6%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.9%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
A toolkit for time series machine learning and deep learning
Basic Info
- Host: GitHub
- Owner: aeon-toolkit
- License: bsd-3-clause
- Language: Python
- Default Branch: main
- Homepage: https://aeon-toolkit.org/
- Size: 113 MB
Statistics
- Stars: 1,226
- Watchers: 22
- Forks: 216
- Open Issues: 207
- Releases: 19
Topics
Metadata Files
README.md
⌛ Welcome to aeon
aeon is an open-source toolkit for time series machine learning.
Fully compatible with scikit-learn, it brings together
the latest machine learning methods alongside a wide range of classical approaches
for tasks such as forecasting, clustering, and classification.
Our goal is to provide a comprehensive collection of state-of-the-art time
series algorithms, with efficient implementations powered by numba, and to promote
reproducible research in the field of time series machine learning.
The latest aeon release is v1.2.0. 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_detectionforecastingsegmentationsimilarity_searchvisualisationtransformations.collection.self_supervisedtransformations.collection.imbalance
| Overview | |
|-----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| CI/CD |
|
| Code |
|
| Community |
|
| Affiliation |
|
⚙️ Installation
aeon requires a Python version of 3.10 or greater. Our full installation guide is
available in our documentation.
The easiest way to install aeon is via pip:
bash
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:
bash
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 classification and clustering.
Classification/Regression
Time series classification looks to predict class labels fore unseen series using a model fitted from a collection of time series. The framework for regression is similar, replace the classifier with a regressor and the labels with continuous values.
```python import numpy as np from aeon.classification.distance_based import KNeighborsTimeSeriesClassifier
X = np.array([[[1, 2, 3, 4, 5, 5]], # 3D array example (univariate) [[1, 2, 3, 4, 4, 2]], # Three samples, one channel, [[8, 7, 6, 5, 4, 4]]]) # six series length y = np.array(['low', 'low', 'high']) # class labels for each sample
clf = KNeighborsTimeSeriesClassifier(distance="dtw") clf.fit(X, y) # fit the classifier on train data
KNeighborsTimeSeriesClassifier()
Xtest = np.array( [[[2, 2, 2, 2, 2, 2]], [[5, 5, 5, 5, 5, 5]], [[6, 6, 6, 6, 6, 6]]] ) ypred = clf.predict(X_test) # make class predictions on new data
['low' 'high' 'high'] ```
Clustering
Time series clustering groups similar time series together from a collection of time series.
```python 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, [[8, 7, 6, 5, 4, 4]]]) # six series length
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])
Xtest = np.array( [[[2, 2, 2, 2, 2, 2]], [[5, 5, 5, 5, 5, 5]], [[6, 6, 6, 6, 6, 6]]] ) clu.predict(Xtest) # 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 |
For enquiries about the project or collaboration, our email is contact@aeon-toolkit.org.
🔨 Contributing to aeon
If you are interested in contributing to aeon, please see our contributing guide
and have a read through before assigning an issue and creating a pull request. Be
aware that the latest version of the docs is the development version, and the stable
version is the latest release.
The aeon developers are volunteers so please be patient with responses to comments and
pull request reviews. If you have any questions, feel free to ask using the above
mediums.
📚 Citation
If you use aeon we would appreciate a citation of the following paper:
bibtex
@article{aeon24jmlr,
author = {Matthew Middlehurst and Ali Ismail-Fawaz and Antoine Guillaume and Christopher Holder and David Guijo-Rubio and Guzal Bulatova and Leonidas Tsaprounis and Lukasz Mentel and Martin Walter and Patrick Sch{{\"a}}fer and Anthony Bagnall},
title = {aeon: a Python Toolkit for Learning from Time Series},
journal = {Journal of Machine Learning Research},
year = {2024},
volume = {25},
number = {289},
pages = {1--10},
url = {http://jmlr.org/papers/v25/23-1444.html}
}
If you let us know about your paper using aeon, we will happily list it here.
👥 Further information
aeon was forked from sktime v0.16.0 in 2022 by an initial group of eight core
developers. You can read more about the project's history and governance structure in
our About Us page.
Owner
- Name: aeon
- Login: aeon-toolkit
- Kind: organization
- Email: contact@aeon-toolkit.org
- Website: aeon-toolkit.org/
- Twitter: aeon_toolkit
- Repositories: 6
- Profile: https://github.com/aeon-toolkit
A toolkit for conducting machine learning tasks with time series data
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Franz Király | f****y@u****k | 738 |
| mloning | m****7@u****k | 733 |
| Tony Bagnall | a****b@u****k | 717 |
| Matthew Middlehurst | p****u@u****k | 553 |
| Martin Walter | m****r@w****e | 120 |
| chrisholder | c****7@h****m | 90 |
| Sajaysurya Ganesh | s****a@g****m | 87 |
| aeon-actions-bot[bot] | 1****] | 81 |
| George Oastler | g****4@g****m | 75 |
| Ali El Hadi ISMAIL FAWAZ | 5****9 | 69 |
| Jason Lines | j****s@u****k | 62 |
| Viktor Kazakov | v****v@o****m | 56 |
| allcontributors[bot] | 4****] | 50 |
| Lukasz Mentel | l****l | 45 |
| dependabot[bot] | 4****] | 40 |
| Patrick Schäfer | p****r@h****e | 29 |
| Aadya Chinubhai | 7****0 | 29 |
| danbartl | d****g@g****m | 22 |
| Sebastian Schmidl | C****X | 21 |
| Stanislav Khrapov | s****v@d****m | 21 |
| Leonidas Tsaprounis | 6****s | 20 |
| Sagar Mishra | 5****e | 19 |
| RNKuhns | R****s@g****m | 19 |
| Antoine Guillaume | a****5@g****m | 19 |
| Mirae Parker | m****8@g****m | 18 |
| Divya Tiwari | 1****9 | 17 |
| Aryan Pola | 9****a | 17 |
| Ciaran Gilbert | 4****g | 16 |
| Cyril Meyer | 6****r | 16 |
| Ivan Knyazev | 1****v | 14 |
| and 290 more... | ||
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 840
- Total pull requests: 2,485
- Average time to close issues: 3 months
- Average time to close pull requests: 15 days
- Total issue authors: 88
- Total pull request authors: 131
- Average comments per issue: 1.59
- Average comments per pull request: 2.18
- Merged pull requests: 1,657
- Bot issues: 89
- Bot pull requests: 385
Past Year
- Issues: 315
- Pull requests: 1,151
- Average time to close issues: 18 days
- Average time to close pull requests: 12 days
- Issue authors: 45
- Pull request authors: 79
- Average comments per issue: 1.22
- Average comments per pull request: 2.14
- Merged pull requests: 726
- Bot issues: 68
- Bot pull requests: 207
Top Authors
Issue Authors
- TonyBagnall (309)
- MatthewMiddlehurst (111)
- aeon-actions-bot[bot] (87)
- hadifawaz1999 (68)
- baraline (45)
- aiwalter (19)
- CodeLionX (18)
- chrisholder (14)
- lucifer4073 (10)
- aadya940 (10)
- SebastianSchmidl (9)
- Kaustbh (8)
- IRKnyazev (7)
- lmmentel (7)
- kavya-r30 (6)
Pull Request Authors
- TonyBagnall (636)
- MatthewMiddlehurst (472)
- aeon-actions-bot[bot] (138)
- dependabot[bot] (128)
- allcontributors[bot] (92)
- chrisholder (87)
- hadifawaz1999 (77)
- aryanpola (50)
- aadya940 (45)
- lucifer4073 (36)
- itsdivya1309 (35)
- baraline (33)
- kavya-r30 (31)
- CodeLionX (31)
- patrickzib (28)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
-
Total downloads:
- pypi 18,632 last-month
- Total docker downloads: 80
-
Total dependent packages: 5
(may contain duplicates) -
Total dependent repositories: 1
(may contain duplicates) - Total versions: 44
- Total maintainers: 1
proxy.golang.org: github.com/aeon-toolkit/aeon
- Documentation: https://pkg.go.dev/github.com/aeon-toolkit/aeon#section-documentation
- License: bsd-3-clause
-
Latest release: v1.2.0
published 8 months ago
Rankings
pypi.org: aeon
A toolkit for machine learning from time series
- Homepage: https://www.aeon-toolkit.org
- Documentation: https://www.aeon-toolkit.org
- License: BSD 3-Clause License Copyright (c) The aeon developers. Copyright (c) 2022 The sktime developers. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
Latest release: 2.0.2
published almost 11 years ago
Rankings
Maintainers (1)
Dependencies
- actions/checkout v3 composite
- actions/setup-node v3 composite
- stefanzweifel/git-auto-commit-action v4 composite
- jupyter/scipy-notebook python-3.8.8 build
- actions/checkout v3 composite
- actions/setup-python v4 composite
- codecov/codecov-action v3 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/download-artifact v3 composite
- actions/setup-python v4 composite
- actions/upload-artifact v3 composite
- pre-commit/action v3.0.0 composite
- pypa/gh-action-pypi-publish release/v1 composite
- actions/checkout v4 composite
- actions/create-github-app-token v1 composite
- actions/setup-python v5 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- pre-commit-ci/lite-action v1.0.1 composite
- pre-commit/action v3.0.0 composite
- tj-actions/changed-files v40.2.2 composite
- actions/checkout v4 composite
- actions/create-github-app-token v1 composite
- actions/setup-python v5 composite
- browniebroke/pre-commit-autoupdate-action v1.0.0 composite
- peter-evans/create-pull-request v5 composite
- attrs >=19.2.0
- deprecated >=1.2.13
- numba >=0.55
- numpy >=1.21.0,<1.27.0
- packaging >=20.0
- pandas >=1.5.3,<2.1.0
- scikit-learn >=1.0.0,<1.4.0
- scipy >=1.2.0,<2.0.0
- actions/cache/restore v3 composite
- actions/checkout v4 composite
- actions/create-github-app-token v1 composite
- actions/setup-python v5 composite
- actions/create-github-app-token v1 composite
- crs-k/stale-branches v5.0.0 composite
- actions/checkout v4 composite
- actions/download-artifact v4 composite
- actions/setup-python v5 composite
- actions/upload-artifact v4 composite
- pypa/gh-action-pypi-publish release/v1 composite
- actions/checkout v4 composite
- actions/create-github-app-token v1 composite
- actions/setup-python v5 composite
- actions/checkout v4 composite
- actions/create-github-app-token v1 composite
- actions/setup-python v5 composite
- stefanzweifel/git-auto-commit-action v5 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- nick-fields/retry v3 composite
- actions/checkout v4 composite
- actions/upload-artifact v4 composite
- github/codeql-action/upload-sarif v3 composite
- ossf/scorecard-action v2.4.0 composite
