Skill Tracer
Skills › Scientific Agent Skills › aeon › classification.md

classification.md

145 lines · skills/aeon/references/classification.md at 5f2bc03

Open on GitHub
1# Time Series Classification
2
3Selected aeon 1.6 classifiers with scikit-learn compatible APIs. Verify estimator capability tags before choosing multivariate, missing-value, or unequal-length data.
4

Time Series Classification

Selected aeon 1.6 classifiers with scikit-learn compatible APIs. Verify estimator capability tags before choosing multivariate, missing-value, or unequal-length data.

Raw lines 1 to 4
5## Convolution-Based Classifiers
6
7Apply random convolutional transformations for efficient feature extraction:
8
9- `Arsenal` - Ensemble of ROCKET classifiers with varied kernels
10- `HydraClassifier` - Multi-resolution convolution with dilation
11- `RocketClassifier` - Random convolution kernels with ridge regression
12- `MiniRocketClassifier` - Simplified ROCKET variant for speed
13- `MultiRocketClassifier` - Convolutional features from raw and differenced series with multiple pooling operators
15**Use when**: Need fast, scalable classification with strong performance across diverse datasets.

Convolution-Based Classifiers

Apply random convolutional transformations for efficient feature extraction:

  • Arsenal - Ensemble of ROCKET classifiers with varied kernels
  • HydraClassifier - Multi-resolution convolution with dilation
  • RocketClassifier - Random convolution kernels with ridge regression
  • MiniRocketClassifier - Simplified ROCKET variant for speed
  • MultiRocketClassifier - Convolutional features from raw and differenced series with multiple pooling operators

Use when: Need fast, scalable classification with strong performance across diverse datasets.

Raw lines 5 to 16
17## Deep Learning Classifiers
19Neural network architectures optimized for temporal sequences:
21- `FCNClassifier` - Fully convolutional network
22- `ResNetClassifier` - Residual networks with skip connections
23- `InceptionTimeClassifier` - Multi-scale inception modules
24- `TimeCNNClassifier` - Standard CNN for time series
25- `MLPClassifier` - Multi-layer perceptron baseline
26- `EncoderClassifier` - Convolutional encoder architecture
27- `DisjointCNNClassifier` - Shapelet-focused architecture
29**Use when**: Large datasets available, need end-to-end learning, or complex temporal patterns.

Deep Learning Classifiers

Neural network architectures optimized for temporal sequences:

  • FCNClassifier - Fully convolutional network
  • ResNetClassifier - Residual networks with skip connections
  • InceptionTimeClassifier - Multi-scale inception modules
  • TimeCNNClassifier - Standard CNN for time series
  • MLPClassifier - Multi-layer perceptron baseline
  • EncoderClassifier - Convolutional encoder architecture
  • DisjointCNNClassifier - Shapelet-focused architecture

Use when: Large datasets available, need end-to-end learning, or complex temporal patterns.

Raw lines 17 to 30
31## Dictionary-Based Classifiers
33Transform time series into symbolic representations:
35- `BOSSEnsemble` - Bag-of-SFA-Symbols with ensemble voting
36- `TemporalDictionaryEnsemble` - Ensemble of symbolic Fourier bag-of-words models
37- `WEASEL` - Word ExtrAction for time SEries cLassification
38- `MrSEQLClassifier` - Multiple symbolic sequence learning
40**Use when**: Need interpretable models, sparse patterns, or symbolic reasoning.

Dictionary-Based Classifiers

Transform time series into symbolic representations:

  • BOSSEnsemble - Bag-of-SFA-Symbols with ensemble voting
  • TemporalDictionaryEnsemble - Ensemble of symbolic Fourier bag-of-words models
  • WEASEL - Word ExtrAction for time SEries cLassification
  • MrSEQLClassifier - Multiple symbolic sequence learning

Use when: Need interpretable models, sparse patterns, or symbolic reasoning.

Raw lines 31 to 41
42## Distance-Based Classifiers
44Leverage specialized time series distance metrics:
46- `KNeighborsTimeSeriesClassifier` - k-NN with temporal distances (DTW, LCSS, ERP, etc.)
47- `ElasticEnsemble` - Combines multiple elastic distance measures
48- `ProximityForest` - Tree ensemble using distance-based splits
50**Use when**: Small datasets, need similarity-based classification, or interpretable decisions.

Distance-Based Classifiers

Leverage specialized time series distance metrics:

  • KNeighborsTimeSeriesClassifier - k-NN with temporal distances (DTW, LCSS, ERP, etc.)
  • ElasticEnsemble - Combines multiple elastic distance measures
  • ProximityForest - Tree ensemble using distance-based splits

Use when: Small datasets, need similarity-based classification, or interpretable decisions.

Raw lines 42 to 51
52## Feature-Based Classifiers
54Extract statistical and signature features before classification:
56- `Catch22Classifier` - 22 canonical time-series characteristics
57- `TSFreshClassifier` - Automated feature extraction via tsfresh
58- `SignatureClassifier` - Path signature transformations
59- `SummaryClassifier` - Summary statistics extraction
60- `FreshPRINCEClassifier` - TSFresh features followed by rotation forest
62**Use when**: Need interpretable features, domain expertise available, or feature engineering approach.

Feature-Based Classifiers

Extract statistical and signature features before classification:

  • Catch22Classifier - 22 canonical time-series characteristics
  • TSFreshClassifier - Automated feature extraction via tsfresh
  • SignatureClassifier - Path signature transformations
  • SummaryClassifier - Summary statistics extraction
  • FreshPRINCEClassifier - TSFresh features followed by rotation forest

Use when: Need interpretable features, domain expertise available, or feature engineering approach.

Raw lines 52 to 63
64## Interval-Based Classifiers
66Extract features from random or supervised intervals:
68- `CanonicalIntervalForestClassifier` - Random interval features with decision trees
69- `DrCIFClassifier` - Diverse Representation CIF with catch22 features
70- `TimeSeriesForestClassifier` - Random intervals with summary statistics
71- `RandomIntervalClassifier` - Simple interval-based approach
72- `RandomIntervalSpectralEnsembleClassifier` - Spectral features from intervals
73- `SupervisedTimeSeriesForest` - Supervised interval selection
75**Use when**: Discriminative patterns occur in specific time windows.

Interval-Based Classifiers

Extract features from random or supervised intervals:

  • CanonicalIntervalForestClassifier - Random interval features with decision trees
  • DrCIFClassifier - Diverse Representation CIF with catch22 features
  • TimeSeriesForestClassifier - Random intervals with summary statistics
  • RandomIntervalClassifier - Simple interval-based approach
  • RandomIntervalSpectralEnsembleClassifier - Spectral features from intervals
  • SupervisedTimeSeriesForest - Supervised interval selection

Use when: Discriminative patterns occur in specific time windows.

Raw lines 64 to 76
77## Shapelet-Based Classifiers
79Identify discriminative subsequences (shapelets):
81- `ShapeletTransformClassifier` - Discovers and uses discriminative shapelets
82- `SASTClassifier` - Scalable approximate shapelet transform
83- `RDSTClassifier` - Random dilated shapelet transform
85**Use when**: Need interpretable discriminative patterns or phase-invariant features.

Shapelet-Based Classifiers

Identify discriminative subsequences (shapelets):

  • ShapeletTransformClassifier - Discovers and uses discriminative shapelets
  • SASTClassifier - Scalable approximate shapelet transform
  • RDSTClassifier - Random dilated shapelet transform

Use when: Need interpretable discriminative patterns or phase-invariant features.

Raw lines 77 to 86
87## Hybrid Classifiers
89Combine multiple classification paradigms:
91- `HIVECOTEV1` - Hierarchical Vote Collective of Transformation-based Ensembles (version 1)
92- `HIVECOTEV2` - Enhanced version with updated components
94**Use when**: Maximum accuracy required, computational resources available.

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.

Raw lines 87 to 95
96## Early Classification
98Make predictions before observing entire time series:
100- `TEASER` - Two-tier Early and Accurate Series Classifier
101- `ProbabilityThresholdEarlyClassifier` - Prediction when confidence exceeds threshold
103**Use when**: Real-time decisions needed, or observations have cost.

Early Classification

Make predictions before observing entire time series:

  • TEASER - Two-tier Early and Accurate Series Classifier
  • ProbabilityThresholdEarlyClassifier - Prediction when confidence exceeds threshold

Use when: Real-time decisions needed, or observations have cost.

Raw lines 96 to 104
105## Ordinal Classification
107Handle ordered class labels:
109- `OrdinalTDE` - Temporal dictionary ensemble for ordinal outputs
111**Use when**: Classes have natural ordering (e.g., severity levels).

Ordinal Classification

Handle ordered class labels:

  • OrdinalTDE - Temporal dictionary ensemble for ordinal outputs

Use when: Classes have natural ordering (e.g., severity levels).

Raw lines 105 to 112
113## Composition Tools
115Build custom pipelines and ensembles:
117- `ClassifierPipeline` - Chain transformers with classifiers
118- `ClassifierEnsemble` - Weighted combination of classifiers
119- `SklearnClassifierWrapper` - Adapt sklearn classifiers for time series
121`LearningShapeletClassifier` was removed in aeon 1.6 after deprecation in 1.5. Use the supported shapelet estimators above.

Composition Tools

Build custom pipelines and ensembles:

  • ClassifierPipeline - Chain transformers with classifiers
  • ClassifierEnsemble - Weighted combination of classifiers
  • SklearnClassifierWrapper - Adapt sklearn classifiers for time series

LearningShapeletClassifier was removed in aeon 1.6 after deprecation in 1.5. Use the supported shapelet estimators above.

Raw lines 113 to 122
123## Quick Start
125```python
126from aeon.classification.convolution_based import RocketClassifier
127from aeon.datasets import load_classification
129# Load data
130X_train, y_train = load_classification("GunPoint", split="train")
131X_test, y_test = load_classification("GunPoint", split="test")
133# Train and predict
134clf = RocketClassifier()
135clf.fit(X_train, y_train)
136accuracy = clf.score(X_test, y_test)
137```

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)
Raw lines 123 to 138
139## Algorithm Selection
141- **Speed priority**: MiniRocketClassifier, Arsenal
142- **Accuracy priority**: HIVECOTEV2, InceptionTimeClassifier
143- **Interpretability**: ShapeletTransformClassifier, Catch22Classifier
144- **Small data**: KNeighborsTimeSeriesClassifier, Distance-based methods
145- **Large data**: Deep learning classifiers, ROCKET variants

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
Raw lines 139 to 145