5.3 KiB
Time Series Classification
Aeon provides 13 categories of time series classifiers with scikit-learn compatible APIs.
Convolution-Based Classifiers
Apply random convolutional transformations for efficient feature extraction:
Arsenal- Ensemble of ROCKET classifiers with varied kernelsHydraClassifier- Multi-resolution convolution with dilationRocketClassifier- Random convolution kernels with ridge regressionMiniRocketClassifier- Simplified ROCKET variant for speedMultiRocketClassifier- Combines multiple ROCKET variants
Use when: Need fast, scalable classification with strong performance across diverse datasets.
Deep Learning Classifiers
Neural network architectures optimized for temporal sequences:
FCNClassifier- Fully convolutional networkResNetClassifier- Residual networks with skip connectionsInceptionTimeClassifier- Multi-scale inception modulesTimeCNNClassifier- Standard CNN for time seriesMLPClassifier- Multi-layer perceptron baselineEncoderClassifier- Generic encoder wrapperDisjointCNNClassifier- Shapelet-focused architecture
Use when: Large datasets available, need end-to-end learning, or complex temporal patterns.
Dictionary-Based Classifiers
Transform time series into symbolic representations:
BOSSEnsemble- Bag-of-SFA-Symbols with ensemble votingTemporalDictionaryEnsemble- Multiple dictionary methods combinedWEASEL- Word ExtrAction for time SEries cLassificationMrSEQLClassifier- Multiple symbolic sequence learning
Use when: Need interpretable models, sparse patterns, or symbolic reasoning.
Distance-Based Classifiers
Leverage specialized time series distance metrics:
KNeighborsTimeSeriesClassifier- k-NN with temporal distances (DTW, LCSS, ERP, etc.)ElasticEnsemble- Combines multiple elastic distance measuresProximityForest- Tree ensemble using distance-based splits
Use when: Small datasets, need similarity-based classification, or interpretable decisions.
Feature-Based Classifiers
Extract statistical and signature features before classification:
Catch22Classifier- 22 canonical time-series characteristicsTSFreshClassifier- Automated feature extraction via tsfreshSignatureClassifier- Path signature transformationsSummaryClassifier- Summary statistics extractionFreshPRINCEClassifier- Combines multiple feature extractors
Use when: Need interpretable features, domain expertise available, or feature engineering approach.
Interval-Based Classifiers
Extract features from random or supervised intervals:
CanonicalIntervalForestClassifier- Random interval features with decision treesDrCIFClassifier- Diverse Representation CIF with catch22 featuresTimeSeriesForestClassifier- Random intervals with summary statisticsRandomIntervalClassifier- Simple interval-based approachRandomIntervalSpectralEnsembleClassifier- Spectral features from intervalsSupervisedTimeSeriesForest- Supervised interval selection
Use when: Discriminative patterns occur in specific time windows.
Shapelet-Based Classifiers
Identify discriminative subsequences (shapelets):
ShapeletTransformClassifier- Discovers and uses discriminative shapeletsLearningShapeletClassifier- Learns shapelets via gradient descentSASTClassifier- Scalable approximate shapelet transformRDSTClassifier- Random dilated shapelet transform
Use when: Need interpretable discriminative patterns or phase-invariant features.
Hybrid Classifiers
Combine multiple classification paradigms:
HIVECOTEV1- Hierarchical Vote Collective of Transformation-based Ensembles (version 1)HIVECOTEV2- Enhanced version with updated components
Use when: Maximum accuracy required, computational resources available.
Early Classification
Make predictions before observing entire time series:
TEASER- Two-tier Early and Accurate Series ClassifierProbabilityThresholdEarlyClassifier- Prediction when confidence exceeds threshold
Use when: Real-time decisions needed, or observations have cost.
Ordinal Classification
Handle ordered class labels:
OrdinalTDE- Temporal dictionary ensemble for ordinal outputs
Use when: Classes have natural ordering (e.g., severity levels).
Composition Tools
Build custom pipelines and ensembles:
ClassifierPipeline- Chain transformers with classifiersWeightedEnsembleClassifier- Weighted combination of classifiersSklearnClassifierWrapper- Adapt sklearn classifiers for time series
Quick Start
from aeon.classification.convolution_based import RocketClassifier
from aeon.datasets import load_classification
# Load data
X_train, y_train = load_classification("GunPoint", split="train")
X_test, y_test = load_classification("GunPoint", split="test")
# Train and predict
clf = RocketClassifier()
clf.fit(X_train, y_train)
accuracy = clf.score(X_test, y_test)
Algorithm Selection
- Speed priority: MiniRocketClassifier, Arsenal
- Accuracy priority: HIVECOTEV2, InceptionTimeClassifier
- Interpretability: ShapeletTransformClassifier, Catch22Classifier
- Small data: KNeighborsTimeSeriesClassifier, Distance-based methods
- Large data: Deep learning classifiers, ROCKET variants