scientific-skills/aeon/references/classification.md
Aeon provides 13 categories of time series classifiers with scikit-learn compatible APIs.
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 variantsUse when: Need fast, scalable classification with strong performance across diverse datasets.
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 architectureUse when: Large datasets available, need end-to-end learning, or complex temporal patterns.
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 learningUse when: Need interpretable models, sparse patterns, or symbolic reasoning.
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 splitsUse when: Small datasets, need similarity-based classification, or interpretable decisions.
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 extractorsUse when: Need interpretable features, domain expertise available, or feature engineering approach.
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 selectionUse when: Discriminative patterns occur in specific time windows.
Identify discriminative subsequences (shapelets):
ShapeletTransformClassifier - Discovers and uses discriminative shapeletsLearningShapeletClassifier - Learns shapelets via gradient descentSASTClassifier - Scalable approximate shapelet transformRDSTClassifier - Random dilated shapelet transformUse when: Need interpretable discriminative patterns or phase-invariant features.
Combine multiple classification paradigms:
HIVECOTEV1 - Hierarchical Vote Collective of Transformation-based Ensembles (version 1)HIVECOTEV2 - Enhanced version with updated componentsUse when: Maximum accuracy required, computational resources available.
Make predictions before observing entire time series:
TEASER - Two-tier Early and Accurate Series ClassifierProbabilityThresholdEarlyClassifier - Prediction when confidence exceeds thresholdUse when: Real-time decisions needed, or observations have cost.
Handle ordered class labels:
OrdinalTDE - Temporal dictionary ensemble for ordinal outputsUse when: Classes have natural ordering (e.g., severity levels).
Build custom pipelines and ensembles:
ClassifierPipeline - Chain transformers with classifiersWeightedEnsembleClassifier - Weighted combination of classifiersSklearnClassifierWrapper - Adapt sklearn classifiers for time seriesfrom 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)