Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A toolkit for machine learning from time series

License

NotificationsYou must be signed in to change notification settings

aeon-toolkit/aeon

aeon logo

⌛ Welcome to aeon

aeon is an open-source toolkit for learning from time series. It is compatible withscikit-learn and provides access to the very latestalgorithms for time series machine learning, in addition to a range of classicaltechniques for learning tasks such as forecasting and classification.

We strive to provide a broad library of time series algorithms including thelatest advances, offer efficient implementations using numba, and interfaces with othertime series packages to provide a single framework for algorithm comparison.

The latestaeon release isv1.0.0. You can view the full changeloghere.

Our webpage and documentation is available athttps://aeon-toolkit.org.

The following modules are still considered experimental, and thedeprecation policydoes not apply:

  • anomaly_detection
  • forecasting
  • segmentation
  • similarity_search
  • visualisation
Overview
CI/CDgithub-actions-releasegithub-actions-maingithub-actions-nightlydocs-maindocs-main!codecovopenssf-scorecard
Code!pypi!conda!python-versions!blacklicensebinder
Community!slack!linkedin!x-twitter
Affiliationnumfocus

⚙️ Installation

aeon requires a Python version of 3.9 or greater. Our full installation guide isavailable in ourdocumentation.

The easiest way to installaeon is via pip:

pip install aeon

Some estimators require additional packages to be installed. If you want to installthe full package with all optional dependencies, you can use:

pip install aeon[all_extras]

Instructions for installation from theGitHub sourcecan be foundhere.

⏲️ Getting started

The best place to get started for allaeon packages is ourgetting started guide.

Below we provide a quick example of how to useaeon for classification and clustering.

Classification/Regression

Time series classification looks to predict class labels fore unseen series using amodel 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.

importnumpyasnpfromaeon.classification.distance_basedimportKNeighborsTimeSeriesClassifierX=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 lengthy=np.array(['low','low','high'])# class labels for each sampleclf=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

Time series clustering groups similar time series together from a collection oftime series.

importnumpyasnpfromaeon.clusteringimportTimeSeriesKMeansX=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 lengthclu=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

TypePlatforms
🐛Bug ReportsGitHub Issue Tracker
Feature Requests & IdeasGitHub Issue Tracker &Slack
💻Usage QuestionsGitHub Discussions &Slack
💬General DiscussionGitHub Discussions &Slack
🏭Contribution & DevelopmentSlack

For enquiries about the project or collaboration, our email iscontact@aeon-toolkit.org.

🔨 Contributing to aeon

If you are interested in contributing toaeon, please see ourcontributing guideand have a read through before assigning an issue and creating a pull request. Beaware that thelatest version of the docs is the development version, and thestableversion is the latest release.

Theaeon developers are volunteers so please be patient with responses to comments andpull request reviews. If you have any questions, feel free to ask using the abovemediums.

📚 Citation

If you useaeon we would appreciate a citation of the followingpaper:

@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 usingaeon, we will happily list ithere.

💬 Further information

aeon was forked fromsktimev0.16.0 in 2022 by an initial group of eight coredevelopers.


[8]ページ先頭

©2009-2025 Movatter.jp