$npx -y skills add K-Dense-AI/scientific-agent-skills --skill aeonThis skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring
| 1 | # Aeon Time Series Machine Learning |
| 2 | |
| 3 | ## Overview |
| 4 | |
| 5 | Aeon is a scikit-learn compatible Python toolkit for time series machine learning ([aeon-toolkit.org](https://www.aeon-toolkit.org/)). It provides algorithms across classification, regression, clustering, forecasting, anomaly detection, segmentation, similarity search, distances, transformations, benchmarking, and visualization — with a consistent estimator API. |
| 6 | |
| 7 | **Version note:** Examples target **aeon 1.x** (stable docs: v1.4.0, March 2026). The v1.0 release reworked forecasting and transformations; import paths differ from aeon 0.x/sktime-era code. |
| 8 | |
| 9 | ## When to Use This Skill |
| 10 | |
| 11 | Apply this skill when: |
| 12 | - Classifying or predicting from time series data |
| 13 | - Detecting anomalies or change points in temporal sequences |
| 14 | - Clustering similar time series patterns |
| 15 | - Forecasting future values |
| 16 | - Finding repeated patterns (motifs) or unusual subsequences (discords) |
| 17 | - Comparing time series with specialized distance metrics |
| 18 | - Extracting features from temporal data |
| 19 | |
| 20 | ## Installation |
| 21 | |
| 22 | Requires **Python 3.10+** (3.11+ recommended). Pin a 1.x release for reproducibility: |
| 23 | |
| 24 | ```bash |
| 25 | uv pip install "aeon>=1.4,<2" |
| 26 | ``` |
| 27 | |
| 28 | For deep learning forecasters/classifiers and other optional estimators: |
| 29 | |
| 30 | ```bash |
| 31 | uv pip install "aeon[all_extras]>=1.4,<2" |
| 32 | ``` |
| 33 | |
| 34 | On zsh, quote the extras: `uv pip install "aeon[all_extras]>=1.4,<2"`. |
| 35 | |
| 36 | ### Experimental modules |
| 37 | |
| 38 | Upstream treats **forecasting**, **anomaly_detection**, **segmentation**, **similarity_search**, and **visualisation** as experimental — interfaces may change between minor releases. Prefer stable modules (classification, regression, clustering, distances, transformations) for production pipelines unless you need these tasks. |
| 39 | |
| 40 | ## Core Capabilities |
| 41 | |
| 42 | ### 1. Time Series Classification |
| 43 | |
| 44 | Categorize time series into predefined classes. See `references/classification.md` for complete algorithm catalog. |
| 45 | |
| 46 | **Quick Start:** |
| 47 | ```python |
| 48 | from aeon.classification.convolution_based import RocketClassifier |
| 49 | from aeon.datasets import load_classification |
| 50 | |
| 51 | # Load data |
| 52 | X_train, y_train = load_classification("GunPoint", split="train") |
| 53 | X_test, y_test = load_classification("GunPoint", split="test") |
| 54 | |
| 55 | # Train classifier |
| 56 | clf = RocketClassifier(n_kernels=10000) |
| 57 | clf.fit(X_train, y_train) |
| 58 | accuracy = clf.score(X_test, y_test) |
| 59 | ``` |
| 60 | |
| 61 | **Algorithm Selection:** |
| 62 | - **Speed + Performance**: `MiniRocketClassifier`, `Arsenal` |
| 63 | - **Maximum Accuracy**: `HIVECOTEV2`, `InceptionTimeClassifier` |
| 64 | - **Interpretability**: `ShapeletTransformClassifier`, `Catch22Classifier` |
| 65 | - **Small Datasets**: `KNeighborsTimeSeriesClassifier` with DTW distance |
| 66 | |
| 67 | ### 2. Time Series Regression |
| 68 | |
| 69 | Predict continuous values from time series. See `references/regression.md` for algorithms. |
| 70 | |
| 71 | **Quick Start:** |
| 72 | ```python |
| 73 | from aeon.regression.convolution_based import RocketRegressor |
| 74 | from aeon.datasets import load_regression |
| 75 | |
| 76 | X_train, y_train = load_regression("Covid3Month", split="train") |
| 77 | X_test, y_test = load_regression("Covid3Month", split="test") |
| 78 | |
| 79 | reg = RocketRegressor() |
| 80 | reg.fit(X_train, y_train) |
| 81 | predictions = reg.predict(X_test) |
| 82 | ``` |
| 83 | |
| 84 | ### 3. Time Series Clustering |
| 85 | |
| 86 | Group similar time series without labels. See `references/clustering.md` for methods. |
| 87 | |
| 88 | **Quick Start:** |
| 89 | ```python |
| 90 | from aeon.clustering import TimeSeriesKMeans |
| 91 | |
| 92 | clusterer = TimeSeriesKMeans( |
| 93 | n_clusters=3, |
| 94 | distance="dtw", |
| 95 | averaging_method="ba" |
| 96 | ) |
| 97 | labels = clusterer.fit_predict(X_train) |
| 98 | centers = clusterer.cluster_centers_ |
| 99 | ``` |
| 100 | |
| 101 | ### 4. Forecasting |
| 102 | |
| 103 | Predict future time series values (experimental module in aeon 1.x). See `references/forecasting.md` for forecasters. |
| 104 | |
| 105 | **Quick Start:** |
| 106 | ```python |
| 107 | import numpy as np |
| 108 | from aeon.forecasting import NaiveForecaster |
| 109 | from aeon.forecasting.stats import ARIMA |
| 110 | |
| 111 | y_train = np.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0]) |
| 112 | |
| 113 | # Set horizon in the constructor; predict passes the series to forecast from |
| 114 | naive = NaiveForecaster(strategy="last", horizon=5) |
| 115 | naive.fit(y_train) |
| 116 | y_pred = naive.predict(y_train) |
| 117 | |
| 118 | # ARIMA uses p/d/q (not order=); multi-step via iterative_forecast |
| 119 | arima = ARIMA(p=1, d=1, q=1) |
| 120 | arima.fit(y_train) |
| 121 | y_pred = arima.iterative_forecast(y_train, prediction_horizon=5) |
| 122 | ``` |
| 123 | |
| 124 | ### 5. Anomaly Detection |
| 125 | |
| 126 | Identify unusual patterns or outliers. See `references/anomaly_detection.md |