v1.0.0¶
November 2024
aeon v1.0.0 is our first major release. It contains a large number of new features
and removes a significant body of legacy code. We want to thank every contributor who
has helped make this release possible.
This major release includes breaking changes that could not happen in a regular minor release. This includes the removal of the old forecasting wrapper-based code, the datatypes module and the previous transformer module. Our focus now is on writing more efficient code based on efficient array based bespoke implementations.
Highlights¶
Introduction of a new experimental forecasting module, replacing the old module (this is currently sparse, but we will expand on the framework and available estimators in the future.
Restructuring and expansion of the clustering module, including deep learning clustering.
Explicit split of the transformation module into series transformers and collection transformers.
Extended anomaly detection module.
Completely new testing suite.
Enhanced visualisation tools.
Improved documentation and examples.
Introduction of more multivariate capable deep learning estimators.
Anomaly Detection¶
Bug Fixes¶
[BUG] Fix anomaly detector’s compliance with estimator API (related to testing revamp) (#2102) @SebastianSchmidl
[BUG] fix training data check for TSAD dataset loader (#2100) @SebastianSchmidl
[BUG] Fix TSAD dataset tests (#2232) @SebastianSchmidl
[BUG] add multithreading capability tag to LOF to fix main (#2389) @SebastianSchmidl
Deprecation¶
[ENH] Remove make_series from anomaly detection (#2282) @TonyBagnall
Enhancements¶
[ENH] Issue 1641 - Matrix profile-based anomaly detectors: left STAMPi (#2091) @ferewi
[ENH] Implemented IsolatedForest in anomaly detection with some test cases (#2118) @notaryanramani
[ENH] more fixes for float_ (#2215) @TonyBagnall
[ENH] Implemented COPOD for anomaly detection (#2202) @notaryanramani
[ENH] Implemented CBLOF for Anomaly Detection (#2243) @notaryanramani
[ENH] Remove make_series from anomaly detection (#2282) @TonyBagnall
[ENH] Added OneClassSVM to the anomaly detection module (#2342) @pattplatt
[ENH] Implementation of LOF using PyODAdapter (#2209) @aryanpola
Maintenance¶
[ENH] more fixes for float_ (#2215) @TonyBagnall
Benchmarking¶
Deprecation¶
[DEP] Remove old benchmarking classes (#2082) @MatthewMiddlehurst
Documentation¶
[REF] Refactor
performance_metricsintobenchmarking.metricsand use a local version ofsphinx-remove-toctrees(#2353) @MatthewMiddlehurst
Enhancements¶
[ENH] Remove outdated benchmarking functions and add collection resamplers (#2222) @MatthewMiddlehurst
[ENH] Tidy up benchmarking results loaders (#2233) @MatthewMiddlehurst
Refactored¶
[REF] Refactor
performance_metricsintobenchmarking.metricsand use a local version ofsphinx-remove-toctrees(#2353) @MatthewMiddlehurst
Other¶
[ENH] fix the zero_method of the wilcoxon sign rank test to “wilcox” in mcm (#2361) @TonyBagnall
Classification¶
Bug Fixes¶
[ENH] Remove soft dependency on pyfftw (#2213) @TonyBagnall
[BUG] Fixed subsampling in highly imbalances datasets giving subsamples with only a single class (#2305) @ferewi
Deprecation¶
[MNT] Remove TapNet (#2330) @hadifawaz1999
Documentation¶
[DOC] update Rocket notebook (#2220) @TonyBagnall
[DOC] TSC notebook (#2287) @TonyBagnall
Enhancements¶
[ENH] MrSEQLClassifier wrapper (#1756) @MatthewMiddlehurst
[MNT]Use Numpy Vectorization in ContinuosIntervalTree fit method #1345 (#2141) @LinGinQiu
[ENH] Add testing for TDE (#2144) @TonyBagnall
[ENH] Add MUSE tests (#2147) @TonyBagnall
[ENH] Add BOSS tests (#2148) @TonyBagnall
[ENH] Tests for ordinal tde (#2166) @TonyBagnall
[ENH] Split up rocket estimators (#2207) @MatthewMiddlehurst
[ENH] Remove soft dependency on pyfftw (#2213) @TonyBagnall
[ENH] OrdinalTDE coverage (#2227) @TonyBagnall
[ENH] Rework
_HeterogenousMetaEstimatorand composable estimators (#2242) @MatthewMiddlehurst[ENH] Added useful class attributes to SAST based transforms (#2006) @IRKnyazev
[ENH] RotationForest coverage (#2187) @TonyBagnall
[ENH] Adding LITEMV ability to LITE (#2255) @hadifawaz1999
[ENH] Add DisjointCNN classifier and Regressor (#2316) @hadifawaz1999
[ENH] Tests for feature based classifiers (#2350) @TonyBagnall
[ENH] Refactor num_kernels (#2373) @TonyBagnall
Maintenance¶
[MNT] Remove TapNet (#2330) @hadifawaz1999
[MNT] Tidy up classification and regression tests (#2314) @MatthewMiddlehurst
Clustering¶
Bug Fixes¶
[BUG[ Use clone estimator in
BaseDeepClustererto fixcheck_fit_updates_statefail (#2309) @hadifawaz1999
Documentation¶
[DOC] remove use of init_algorithm parameter in Clustering notebook (#2050) @TonyBagnall
Enhancements¶
[ENH] TimeSeriesKMeans init_algorithm (#2040) @Sharathchenna
[ENH] Added tags for clustering (#2041) @aryanpola
[ENH] Elastic-SOM clusterer (#2149) @chrisholder
[ENH] Added n_clusters attribute to TSFreshClusterer (#2217) @aryanpola
[ENH] Add Multi Reconstruction loss to AEFCNClusterer (#1923) @aadya940
[ENH] Remove y from predict in BaseClusterer (#2292) @TonyBagnall
[ENH] Implement Multi - Reconstruction loss in AEResNetClusterer (#1940) @aadya940
[ENH] Make deep clustering consisting with other deep learning submodules in terms of saving/loading (#2359) @hadifawaz1999
[ENH] Sort out clustering base class (#2251) @TonyBagnall
Maintenance¶
[MNT] Make Multi Rec test in deep clustering faster (#2315) @hadifawaz1999
[MNT] Clustering module 1.0 deprecations (#2306) @chrisholder
[MNT] Deprecation in deep clustering module (#2380) @hadifawaz1999
[MNT] cluster init_algorithm removed across all clusterers (#2392) @chrisholder
Other¶
[ENH] Implemented
MockClusterin testing module (#2029) @notaryanramani[ENH] KSpectralCentroid clusterer (#2140) @chrisholder
Datasets¶
Bug Fixes¶
[BUG] fix training data check for TSAD dataset loader (#2100) @SebastianSchmidl
[BUG] Fix TSAD dataset tests (#2232) @SebastianSchmidl
[BUG] Deal with a few warnings (#2285) @TonyBagnall
Documentation¶
[ENH] change links from htpp to https (#2098) @TonyBagnall
[DOC] data notebooks (#2104) @TonyBagnall
[DOC] Revise data notebook (#2128) @TonyBagnall
Enhancements¶
[ENH] Dataset loader coverage (#2055) @TonyBagnall
[ENH] change links from htpp to https (#2098) @TonyBagnall
[ENH] Coverage for data writers (#2127) @TonyBagnall
[ENH] Remove the return_X_y load option, improve coverage (#2183) @TonyBagnall
[ENH] Final purge of nested univ (#2185) @TonyBagnall
[ENH] Tidy up loaders and writers (#2325) @TonyBagnall
Maintenance¶
[MNT] Update TSC Datasets (#1982) @Cyril-Meyer
Distances¶
Bug Fixes¶
[BUG] Fix failing periodic tests (#2159) @chrisholder
[ENH, BUG] Fixes issue with lower bounding in SAX for TS length not divisible by the number of segments (#2214) @patrickzib
Enhancements¶
[ENH] Add a warping path series transformer (#2001) @hadifawaz1999
[ENH] Add shift-scale distance (k-SC clusterers distance) (#2139) @chrisholder
[ENH] Soft-DTW (#2160) @chrisholder
[ENH, BUG] Fixes issue with lower bounding in SAX for TS length not divisible by the number of segments (#2214) @patrickzib
Maintenance¶
[MNT] Distance module cleanup (#2170) @chrisholder
[MNT] Distance module refactor part 2 (#2178) @chrisholder
Refactored¶
[MNT] Change the “metric” parameter to “measure in the distance module (#2403) @chrisholder
[MNT] Distance module changed to method rather than metric (#2407) @chrisholder
Forecasting¶
Deprecation¶
[ENH] Remove Forecasting Module (#2037) @TonyBagnall
Enhancements¶
[ENH] Remove Forecasting Module (#2037) @TonyBagnall
[ENH] Remove forecasting metrics (#2247) @TonyBagnall
[ENH] First PR for forecasting module (#2362) @TonyBagnall
Documentation¶
[ENH] remove forecasting from readme (#2286) @TonyBagnall
Networks¶
Deprecation¶
[MNT] Remove TapNet (#2330) @hadifawaz1999
Enhancements¶
[ENH] Add Weight Normalization Keras Wrapper (#2117) @aadya940
[ENH] Adding LITEMV ability to LITE (#2255) @hadifawaz1999
[ENH] Implement Multi - Reconstruction loss in AEResNetClusterer (#1940) @aadya940
[ENH] Add DisjointCNN classifier and Regressor (#2316) @hadifawaz1999
Maintenance¶
[MNT] Replaced assert with raise ValueError messages in networks module (#2009) @notaryanramani
[MNT] Remove TapNet (#2330) @hadifawaz1999
[MNT] Remove python 3.12 constraint for deep learners (#2256) @hadifawaz1999
Regression¶
Deprecation¶
[MNT] Remove TapNet (#2330) @hadifawaz1999
Documentation¶
[DOC] Fix broken links (#2296) @TonyBagnall
Enhancements¶
[ENH] Make dummy regressor file private (#2069) @TonyBagnall
[DEP] Regression coverage tests and remove deprecated CNN (#2175) @TonyBagnall
[ENH] remove tag from MR-Hydra regressor (#2154) @TonyBagnall
[ENH] Split up rocket estimators (#2207) @MatthewMiddlehurst
[ENH] Rework
_HeterogenousMetaEstimatorand composable estimators (#2242) @MatthewMiddlehurst[ENH] Adding LITEMV ability to LITE (#2255) @hadifawaz1999
[ENH] remove redundo test (#2313) @TonyBagnall
[ENH] Add DisjointCNN classifier and Regressor (#2316) @hadifawaz1999
[ENH] Refactor num_kernels (#2373) @TonyBagnall
Maintenance¶
[MNT] Remove TapNet (#2330) @hadifawaz1999
[MNT] Tidy up classification and regression tests (#2314) @MatthewMiddlehurst
Other¶
[ENH] Speed up the regression distances tests (#2052) @TonyBagnall
Similarity Search¶
Documentation¶
[DOC] Similarity docstring (#2056) @aryanpola
Maintenance¶
[MNT] Disable and comment out similarity search and RDST test failures (#2080) @MatthewMiddlehurst
[MNT] Purging similarity search from distance as argument numba functions (#2176) @baraline
Transformations¶
Bug Fixes¶
[BUG] set dynamic tag after call to parent constructor (#2172) @TonyBagnall
[ENH] Remove soft dependency on pyfftw (#2213) @TonyBagnall
[BUG] BORF failing without numba (#2254) @Cyril-Meyer
[DOC] Add transformations notebook (#2274) @TonyBagnall
[BUG] Bug fix in SimpleImputer (#2363) @notaryanramani
Deprecation¶
[ENH] Remove Forecasting Module (#2037) @TonyBagnall
Documentation¶
[DOC] Add transformations notebook (#2274) @TonyBagnall
[DOC] Add imputer to notebook (#2365) @TonyBagnall
[DOC] speed up notebooks (#2393) @TonyBagnall
Enhancements¶
[ENH] Savitzky-Golay Transformer (#1984) @Cyril-Meyer
[ENH] add BaseSeriesTransformer - Moving Average Transformer (#1927) @Datadote
[ENH] add BaseSeriesTransformer - ExpSmoothingSeriesTransformer (#2019) @Datadote
[ENH] Add collection transformer for normalisation (#2005) @aryanpola
[ENH] Remove Forecasting Module (#2037) @TonyBagnall
[ENH] Tidy up unequal length collection transformers (#1737) @TonyBagnall
[ENH] Add a warping path series transformer (#2001) @hadifawaz1999
[ENH] Adds a SeriesToCollection broadcaster (#1632) @TonyBagnall
[ENH] Make transformer files private (#2072) @TonyBagnall
[ENH] Remove segmenter transformers, tidy up API (#2096) @TonyBagnall
[ENH] Convert
BaseTransformerinto an abstract class (#2124) @MatthewMiddlehurst[ENH] Added Regressor for Channel Scorer (#1993) @aryanpola
[ENH] Add Yeo Johnson Transform (#2164) @alexbanwell1
[ENH] more fixes for float_ (#2215) @TonyBagnall
[ENH] Remove soft dependency on pyfftw (#2213) @TonyBagnall
[ENH] Change ACF default lags (#2228) @TonyBagnall
[ENH] Gaussian Filter Transformer (#2253) @Cyril-Meyer
[ENH] Change feature based transformer names (#2229) @TonyBagnall
[ENH] Added useful class attributes to SAST based transforms (#2006) @IRKnyazev
[ENH] Catch22 error handling for unimported pycatch22 module (#1979) @Moonzyyy
[ENH] Normalise/TimeSeriesScaler reconciliation (#2289) @TonyBagnall
[ENH] Implemented SimpleImputer (#2347) @notaryanramani
[ENH] Refactor num_kernels (#2373) @TonyBagnall
Maintenance¶
[ENH] more fixes for float_ (#2215) @TonyBagnall
[MNT] Purging similarity search from distance as argument numba functions (#2176) @baraline
[MNT] Add/rework transformation tests and remove from exclude list (#2360) @MatthewMiddlehurst
Other¶
[ENH] Recursive Median Sieve Transformer (#1985) @Cyril-Meyer
Unit Testing¶
Bug Fixes¶
[BUG] Fix anomaly detector’s compliance with estimator API (related to testing revamp) (#2102) @SebastianSchmidl
[BUG] Fix TSAD dataset tests (#2232) @SebastianSchmidl
[BUG] Deal with a few warnings (#2285) @TonyBagnall
[BUG] Use clone estimator in
BaseDeepClustererto fixcheck_fit_updates_statefail (#2309) @hadifawaz1999[BUG] add multithreading capability tag to LOF to fix main (#2389) @SebastianSchmidl
Deprecation¶
[REF,DEP] Refactor
BaseObjectandBaseEstimatorinto the same class (#2115) @MatthewMiddlehurst[ENH] Remove make_series from anomaly detection (#2282) @TonyBagnall
Documentation¶
[DOC,ENH]
basedocs and testing (#2273) @MatthewMiddlehurst
Enhancements¶
[ENH] Dataset loader coverage (#2055) @TonyBagnall
[ENH] Add shift-scale distance (k-SC clusterers distance) (#2139) @chrisholder
[ENH] tag type storage and tag testing rework (#2138) @MatthewMiddlehurst
[ENH] Add testing for TDE (#2144) @TonyBagnall
[ENH] Some changes to
utilstesting (following from #2137) (#2167) @MatthewMiddlehurst[ENH] Update remaining
registryfiles (#2198) @MatthewMiddlehurst[ENH] Rework
_HeterogenousMetaEstimatorand composable estimators (#2242) @MatthewMiddlehurst[DOC,ENH]
basedocs and testing (#2273) @MatthewMiddlehurst[ENH] Remove make_series from anomaly detection (#2282) @TonyBagnall
[ENH] Change test set up for LearnedShapelets (#2312) @TonyBagnall
[ENH]check for algorithm_type (#2339) @aryanpola
[ENH] Make deep clustering consisting with other deep learning submodules in terms of saving/loading (#2359) @hadifawaz1999
[ENH] Remove make_series part II (#2310) @TonyBagnall
Maintenance¶
[MNT] Remove legacy testing (#2076) @MatthewMiddlehurst
[MNT] Disable and comment out similarity search and RDST test failures (#2080) @MatthewMiddlehurst
[MNT] Final move of general estimator testing to new framework. (#2086) @MatthewMiddlehurst
[MNT] CI fixes and pytest options (#2249) @MatthewMiddlehurst
[MNT]
testingremaining cleanup (#2349) @MatthewMiddlehurst[MNT] Tidy up classification and regression tests (#2314) @MatthewMiddlehurst
[MNT] Update and consolidate general estimator checks (#2377) @MatthewMiddlehurst
[MNT] Improve multithreading testing (#2317) @MatthewMiddlehurst
[MNT] Add/rework transformation tests and remove from exclude list (#2360) @MatthewMiddlehurst
Refactored¶
[REF,DEP] Refactor
BaseObjectandBaseEstimatorinto the same class (#2115) @MatthewMiddlehurst
Other¶
[ENH] Implemented
MockClusterin testing module (#2029) @notaryanramani[ENH] Speed up the regression distances tests (#2052) @TonyBagnall
Visualisations¶
Bug Fixes¶
[BUG] Fixed Bug for negative values for scatter plot (#2364) @kavya-r30
Enhancements¶
[ENH] extending PR #2017 to multiclass case (#2026) @IRKnyazev
[ENH] Rework series plotting to work with numpy arrays (#2279) @TonyBagnall
[ENH] remove old check_series and other legacy functions (#2311) @TonyBagnall
[ENH] Port in multi comparison matrix into visualisation module (#2343) @TonyBagnall
Documentation¶
[ENH] Documented why rotational forest isn’t visualisable in the shapelet viz module (#2027) @IRKnyazev
Other¶
Bug Fixes¶
[BUG] Coverage and bug fixes for utils (#2137) @TonyBagnall
[BUG] Fix bug_report.yml template show_versions (#2321) @SebastianSchmidl
Deprecation¶
[MNT] Tidy up utils (#2093) @TonyBagnall
[DEP] Removes an unused validation function (#2097) @TonyBagnall
Documentation¶
[DOC] Removed reference to supervised regression notebook (#2064) @danielroberts20
[DOC] Add Proximity Forest to the distance-based notebook (#2003) @itsdivya1309
[DOC] Update developer list (#2077) @MatthewMiddlehurst
[DOC] Fix notebook failures (#2090) @MatthewMiddlehurst
[MNT] Outdated notebooks and upgraded
ruffbound (#2014) @aryanpola[DOC] Fix small typo (#2173) @georgejl7
[DOC] Fix deep learning notebook (#2197) @TonyBagnall
[DOC] Add JMLR paper to readme (#2203) @TonyBagnall
[DOC, ENH] Add WEASEL v2 and Human Activity Challenge Papers (#2204) @patrickzib
[DOC] Add images for examples front page (#2241) @TonyBagnall
[DOC] Remove glossary (#2271) @TonyBagnall
[DOC] Update classification notebook reference (#2275) @emmanuel-ferdman
[DOC] Add Hydra and MR-Hydra examples to the notebook (#2272) @itsdivya1309
[DOC]removed registry (#2288) @aryanpola
[DOC] Rework getting started guide and single problem forecasting loaders (#2248) @TonyBagnall
[DOC] Update developer documentation (#2297) @MatthewMiddlehurst
[DOC] Shapelet transform notebook (#2046) @IRKnyazev
[MNT] Updated username (#2332) @SebastianSchmidl
[DOC] Changes to first text (#2331) @TonyBagnall
[DOC] Revert botched CONTRIBUTORS.md merge (#2356) @MatthewMiddlehurst
[DOC] Preprocessing notebook (#2345) @TonyBagnall
[DOC] top level notebook changes (#2346) @TonyBagnall
[DOC] Update README (#2370) @MatthewMiddlehurst
[DOC] Tidy up
index,governanceandcode_of_conductpages. (#2375) @MatthewMiddlehurst[DOC] tidy classification and shapelet notebooks (#2381) @TonyBagnall
[DOC] remove shapelet notebook (#2391) @TonyBagnall
[DOC] Update api references of networks (#2401) @hadifawaz1999
[DOC] Getting started and contributing documentation update (#2394) @MatthewMiddlehurst
[DOC] Utils and forecasting api docs (#2402) @MatthewMiddlehurst
[DOC] Regression and segmentation api (#2399) @MatthewMiddlehurst
[DOC] Update API webpages to include new classes and functions (#2397) @MatthewMiddlehurst
[DOC] Imports and api for visualisation and transformers (#2404) @MatthewMiddlehurst
[DOC] Update examples webpage (#2396) @MatthewMiddlehurst
[DOC] Update datasets api and data format page (#2398) @MatthewMiddlehurst
[DOC] Documentation fixes (#2405) @MatthewMiddlehurst
[DOC] Update .all-contributorsrc to add myself as a contributor (#2200) @alexbanwell1
[DOC] Seperated Notes and References (#2291) @aryanpola
Enhancements¶
[ENH] Move
show_versionstoutilsand tidy (#2085) @MatthewMiddlehurst[ENH] Update
pandasversion (#913) @MatthewMiddlehurst[ENH] Remove
BaseEstimatormethods (#2120) @MatthewMiddlehurst[ENH] More
BaseEstimatormethod and attribute changes (#2150) @MatthewMiddlehurst[ENH] More base class method removals (#2171) @MatthewMiddlehurst
[REF,ENH] Refactor test params/instance methods and disable
sklearnmetadata function creation (#2237) @MatthewMiddlehurst[ENH] Add some coverage for performance metrics (#2226) @TonyBagnall
[ENH] show versions option to print (#2327) @TonyBagnall
[ENH] convert list of 1D numpy to 2D (#2378) @TonyBagnall
[ENH] Collection and series base tidy (#2352) @MatthewMiddlehurst
Maintenance¶
[MNT] Fast release workflow (#2039) @MatthewMiddlehurst
[MNT] Edit CODEOWNERS for upcoming deprecations (#1972) @MatthewMiddlehurst
[MNT] Unit testing revamp part 4: clustering (#1877) @MatthewMiddlehurst
[MNT] Tidy up utils (#2093) @TonyBagnall
[MNT] Update dependencies for v1.0.0 (#2079) @MatthewMiddlehurst
[MNT] Add typecheck workflow using
mypy(#2092) @MatthewMiddlehurst[MNT] License change (#2073) @TonyBagnall
[MNT] remove redundant soft dependency checks (#2101) @SebastianSchmidl
[MNT] Move
build_tools(#2078) @MatthewMiddlehurst[MNT] Outdated notebooks and upgraded
ruffbound (#2014) @aryanpola[MNT] Update to
scipy<1.15 (#2105) @MatthewMiddlehurst[MNT] Fix numba function caching the PR testing (#2182) @MatthewMiddlehurst
[MNT] Changes in preparation for update to
numpy2 (#1813) @MatthewMiddlehurst[MNT] Make aeon numpy compatible with both =>2.0 and <2.0 (#2216) @TonyBagnall
[MNT] Updated username (#2332) @SebastianSchmidl
[MNT] Run full tests on
mainbranch merge (#2329) @MatthewMiddlehurst
Refactored¶
[REF] Rename tags (#2155) @MatthewMiddlehurst
[REF] Rename
BaseEstimatortoBaseAeonEstimator(#2162) @MatthewMiddlehurst[REF,ENH] Refactor test params/instance methods and disable
sklearnmetadata function creation (#2237) @MatthewMiddlehurst
Contributors¶
The following have contributed to this release through a collective 212 GitHub Pull Requests:
@aadya940, @alexbanwell1, @aryanpola, @baraline, @chrisholder, @Cyril-Meyer, @danielroberts20, @Datadote, @emmanuel-ferdman, @ferewi, @fspinna, @georgejl7, @griegner, @hadifawaz1999, @IRKnyazev, @itsdivya1309, @kavya-r30, @LinGinQiu, @MatthewMiddlehurst, @Moonzyyy, @notaryanramani, @patrickzib, @pattplatt, @SebastianSchmidl, @Sharathchenna, @TonyBagnall