Skip to main content

fdars_core/shapelet/
mod.rs

1//! Shapelet transform & classification.
2//!
3//! Discovery-based shapelets (Ye & Keogh 2009; Hills–Lines 2014): discriminative
4//! subsequences whose z-normalized distance to a curve becomes a feature for
5//! downstream classification.
6//!
7//! This module is built up over four phases along a strict dependency chain:
8//!
9//! 1. **distance** — per-window z-normalization and the sliding-window minimum
10//!    z-normalized Euclidean distance (`sdist`), plus the [`Shapelet`] type. The
11//!    atomic primitive every later step consumes.
12//! 2. **discovery** — candidate generation, quality scoring (information gain /
13//!    F-statistic), and top-K selection with self-similarity pruning
14//!    ([`discover_shapelets`], [`ShapeletDiscoveryConfig`], [`ShapeletSet`]).
15//! 3. **transform** — apply a fitted shapelet set to produce an n×K feature
16//!    matrix, for training and out-of-sample curves ([`shapelet_transform`],
17//!    [`shapelet_transform_fit`], [`ShapeletTransformFit`]).
18//! 4. **classifier** — the bundled end-to-end shapelet-transform classifier
19//!    ([`shapelet_classifier_fit`], [`ShapeletClassifier`],
20//!    [`ShapeletClassifierConfig`], [`ShapeletClassifierFit`]).
21//!
22//! The full public surface is re-exported at the crate root (finalized in the
23//! classifier phase); the flat items are also reachable via
24//! `fdars_core::shapelet::...`.
25
26pub mod classifier;
27pub mod discovery;
28pub mod distance;
29pub mod transform;
30
31pub use classifier::{
32    shapelet_classifier_fit, ShapeletClassifier, ShapeletClassifierConfig, ShapeletClassifierFit,
33};
34pub use discovery::{discover_shapelets, QualityMeasure, ShapeletDiscoveryConfig, ShapeletSet};
35pub use distance::{shapelet_distance, z_normalize_into, z_normalize_window, Shapelet};
36pub use transform::{shapelet_transform, shapelet_transform_fit, ShapeletTransformFit};