[ENH] Add EvoForestTSWM collection transformer (frozen closed-form feature extractor)#3569
[ENH] Add EvoForestTSWM collection transformer (frozen closed-form feature extractor)#3569kayuksel wants to merge 3 commits into
Conversation
EvoForestTSWM is a frozen, closed-form, interpretable feature transform (feature_based) in the same family as Catch22/MiniRocket: 18 closed-form feature families (141 columns over a length-64 patch) pooled by mean||std||max to 423 (or a discovered 245-dim subset). No learned weights (a fixed function of seeded banks, embedded ~8KB), numba-only, multivariate via channel-independent pooling, handles unequal length. Passes check_estimator (23/23). See aeon-toolkit#3568. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Thank you for contributing to
|
…ernel family) Upgrades the encoder to the v2 champion: adds the hydra_compete family (soft competing-kernel win-count histograms, sqrt-compressed, raw + first-difference channels; a soft-counting variant of Hydra's readout), re-freezes the embedded banks (adds hydra_w), updates the pruned pooling map (519 -> 211 dims), and refreshes the frozen regression fingerprints. Full UCR archive (one ridge protocol): 0.8264 mean accuracy (vs MiniRocket-10k 0.8210, MSRF-1410 0.8116), held-out-55 0.7957, 5-shot 0.7154 -- at 19x fewer features than MiniRocket-10k. Numerically verified against the reference torch champion (end-to-end max abs diff 1.9e-6; numba vs numpy 9.7e-14). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Updated the PR in place to the v2 encoder: 19 families / 173 formulas / 519 dims (pruned variant 211). The new 19th family is a compact soft-counting variant of Hydra's competing-kernel readout, adopted through the same blind lock-box gate as the rest of the encoder. Full-archive numbers under one ridge protocol: 0.8264 mean accuracy (MiniRocket-10k 0.8210, MSRF-1410 0.8116), held-out-55 0.7957, 5-shot 0.7154. Embedded banks re-frozen (+hydra_w); regression fingerprints refreshed; end-to-end parity vs the reference implementation 1.9e-6 (numba vs numpy 9.7e-14). No API changes. |
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
CI triage: |
Reference Issues/PRs
Proposes the estimator discussed in #3568.
What does this implement/fix? Explain your changes.
Adds
EvoForestTSWM, afeature_basedcollection transformer — a peer ofCatch22/MiniRocket.fit_is_empty=True. The banks ship embedded (~8 KB base64), so the transform is numerically identical to the published encoder with no torch and no data file.@njitper-patch kernel withprange; the 3 FFT families use precomputed DFT matrices so the whole kernel is nopython.pooling="full"→ 423,pooling="pruned"→ 245.Evidence (frozen φ + RidgeClassifierCV, one protocol, no per-dataset tuning): highest mean accuracy on the full UCR archive (106) at 0.8223 vs MiniRocket-10k 0.8210 / MSRF 0.8116 / catch22 0.6921, at 24×/3.3× fewer features; by average rank statistically tied with MiniRocket-10k and MSRF (Nemenyi CD=0.46). Frozen transfer to multivariate UEA: +0.094 over catch22, within 0.016 of MiniRocket-MV.
Does your contribution introduce a new dependency? If yes, which one?
No — numba only (already a core dependency).
Any other comments?
check_estimator(EvoForestTSWM)passes locally (23/23); added a unit + frozen-regression test (torch-free, no GPU needed in CI). Registered infeature_based/__init__.pyand the API docs.PR checklist