Skip to content

[ENH] Add type hints for deep learning regression classes #2644

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 27 commits into from
May 8, 2025

Conversation

saadaltohamy
Copy link
Contributor

@saadaltohamy saadaltohamy commented Mar 18, 2025

Reference Issues/PRs

#1454

What does this implement/fix? Explain your changes.

Added type hints for all deep learning classes in the aeon/regression/deep_learning directory.

Does your contribution introduce a new dependency? If yes, which one?

No

Any other comments?

NaN

PR checklist

For all contributions
  • I've added myself to the list of contributors. Alternatively, you can use the @all-contributors bot to do this for you after the PR has been merged.
  • The PR title starts with either [ENH], [MNT], [DOC], [BUG], [REF], [DEP] or [GOV] indicating whether the PR topic is related to enhancement, maintenance, documentation, bugs, refactoring, deprecation or governance.
For new estimators and functions
  • I've added the estimator/function to the online API documentation.
  • (OPTIONAL) I've added myself as a __maintainer__ at the top of relevant files and want to be contacted regarding its maintenance. Unmaintained files may be removed. This is for the full file, and you should not add yourself if you are just making minor changes or do not want to help maintain its contents.
For developers with write access
  • (OPTIONAL) I've updated aeon's CODEOWNERS to receive notifications about future changes to these files.

@aeon-actions-bot aeon-actions-bot bot added enhancement New feature, improvement request or other non-bug code enhancement regression Regression package labels Mar 18, 2025
@aeon-actions-bot
Copy link
Contributor

Thank you for contributing to aeon

I have added the following labels to this PR based on the title: [ $\color{#FEF1BE}{\textsf{enhancement}}$ ].
I have added the following labels to this PR based on the changes made: [ $\color{#7E0206}{\textsf{regression}}$ ]. Feel free to change these if they do not properly represent the PR.

The Checks tab will show the status of our automated tests. You can click on individual test runs in the tab or "Details" in the panel below to see more information if there is a failure.

If our pre-commit code quality check fails, any trivial fixes will automatically be pushed to your PR unless it is a draft.

Don't hesitate to ask questions on the aeon Slack channel if you have any.

PR CI actions

These checkboxes will add labels to enable/disable CI functionality for this PR. This may not take effect immediately, and a new commit may be required to run the new configuration.

  • Run pre-commit checks for all files
  • Run mypy typecheck tests
  • Run all pytest tests and configurations
  • Run all notebook example tests
  • Run numba-disabled codecov tests
  • Stop automatic pre-commit fixes (always disabled for drafts)
  • Disable numba cache loading
  • Push an empty commit to re-run CI checks

@saadaltohamy
Copy link
Contributor Author

All tests passed,
Could you please review? @baraline @MatthewMiddlehurst @hadifawaz1999 @TonyBagnall

@MatthewMiddlehurst
Copy link
Member

I like this in principle, but I have no way to verify its correct currently that isn't too time-consuming given some of them are complex. If you could verify these are correct using mypy or similar that would be great.

@saadaltohamy
Copy link
Contributor Author

saadaltohamy commented Apr 3, 2025

I like this in principle, but I have no way to verify its correct currently that isn't too time-consuming given some of them are complex. If you could verify these are correct using mypy or similar that would be great.

@MatthewMiddlehurst
I run mypy for _cnn.py file using:
mypy --follow-imports=skip --ignore-missing-imports aeon\regression\deep_learning\_cnn.py

and I found this error:
error: Argument "callbacks" to "fit" of "Model" has incompatible type "list[ModelCheckpoint]"; expected "list[Callback] | None" [arg-type]
in this code in line 311:

        self.history = self.training_model_.fit(
            X,
            y,
            batch_size=self.batch_size,
            epochs=self.n_epochs,
            verbose=self.verbose,
  --->      callbacks=self.callbacks_,
        )

this is because in this code line 290

        if self.callbacks is None:
            self.callbacks_ = [
                tf.keras.callbacks.ModelCheckpoint(
                    filepath=self.file_path + self.file_name_ + ".keras",
                    monitor="loss",
                    save_best_only=True,
                ),
            ]
        else:
            self.callbacks_ = self._get_model_checkpoint_callback(
                callbacks=self.callbacks,
                file_path=self.file_path,
                file_name=self.file_name_,
            )

If callbacks is None, it will make self.callbacks_ type is: (variable) callbacks_: list[ModelCheckpoint]
But, if it's not None, it will make self.callbacks_ type is: (variable) callbacks_: list[Callback]

Should I fix this?

I can fix it by just modify this:

if self.callbacks is None:
            self.callbacks_: list[Callback] = [                 # add list[Callback] type hint
                tf.keras.callbacks.ModelCheckpoint(
                    filepath=self.file_path + self.file_name_ + ".keras",
                    monitor="loss",
                    save_best_only=True,
                ),
            ]

@MatthewMiddlehurst
Copy link
Member

Nah i would ignore that one for now. Could you check the whole module? I am not 100% familiar with mypy but wouldnt --follow-imports=skip --ignore-missing-imports stop it from checking other files which use the class.

@saadaltohamy
Copy link
Contributor Author

wouldnt --follow-imports=skip --ignore-missing-imports stop it from checking other files which use the class.
@MatthewMiddlehurst

I initially added --ignore-missing-imports to suppress errors related to missing library stubs, such as:

_encoder.py:21: error: Skipping analyzing "sklearn.utils": module is installed, but missing library stubs or py.typed marker  [import-untyped]
_disjoint_cnn.py:20: error: Skipping analyzing "sklearn.utils": module is installed, but missing library stubs or py.typed marker  [import-untyped]

However, after removing --follow-imports=skip, I encountered a significant number of type-checking errors—most of which are unrelated to the scope of my PR.

I’ve categorized these into seven distinct error types and provided explanations along with potential solutions in this Gist:
https://gist.github.com/saadaltohamy/f85d295539420e9045370eb6c924c427

But I don't know should I fix these or just ignore

@MatthewMiddlehurst
Copy link
Member

You only have to fix the ones in the regression deep learning files, my main concern is that it is capturing other files using these i.e. testing.

If there are no errors other than the one you posted previously should be fine.

@saadaltohamy
Copy link
Contributor Author

If there are no errors other than the one you posted previously should be fine.

Okay I have fixed just some other errors I encountered. You can review the last 2 commits if you want.

Should be okay now, no errors in my files
@MatthewMiddlehurst

Copy link
Member

@MatthewMiddlehurst MatthewMiddlehurst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't change code without an explanation of why please considering this is a docs PR. This happens for verbose.

Don't add types to variables, not at that point yet 🙂. The test is just to sanity check your changes, though it did not really work as expected.

@MatthewMiddlehurst
Copy link
Member

This was a nice experiment but it has gotten a bit overly complex. mypy still does not work very well currently for our codebase it seems especially with complex types. You are welcome to continue trying to get these to fit, but I will note the original issue was for primitives and strings only.

@saadaltohamy
Copy link
Contributor Author

saadaltohamy commented Apr 4, 2025

Don't change code without an explanation of why please considering this is a docs PR. This happens for verbose.

I have changed verbose from verbose: bool = False to verbose: Literal["auto", 0, 1, 2] = 0 because keras documentation suggests that verbose must be a number not bool
image

If it's not necessary to do that now, I'll change it back to bool

Don't add types to variables, not at that point yet

Okay, no worries, I'll fix that. Thanks for feedback
@MatthewMiddlehurst

@MatthewMiddlehurst
Copy link
Member

Interesting to note, maybe worth creating an issue? Out of scope for this PR though yeah

@saadaltohamy
Copy link
Contributor Author

maybe worth creating an issue

Sure, I'll do that after finishing this PR..

Sorry for those last errors 😅 I've deleted a line by mistake in save_last_model_to_file function in base class. But it's all good now.
Could you review it again? @MatthewMiddlehurst

@saadaltohamy
Copy link
Contributor Author

@MatthewMiddlehurst Just a reminder if you have time to review it again. it should be good now.

@saadaltohamy
Copy link
Contributor Author

@MatthewMiddlehurst
Is there anything I can do to merge?

@MatthewMiddlehurst MatthewMiddlehurst merged commit 93d7b65 into aeon-toolkit:main May 8, 2025
16 checks passed
TonyBagnall added a commit that referenced this pull request May 13, 2025
* forecaster base and dummy

* forecasting tests

* forecasting tests

* forecasting tests

* forecasting tests

* regression

* notebook

* regressor

* regressor

* regressor

* tags

* tags

* requires_y

* forecasting notebook

* forecasting notebook

* remove tags

* fix forecasting testing (they still fail though)

* _is_fitted -> is_fitted

* _is_fitted -> is_fitted

* _forecast

* notebook

* is_fitted

* y_fitted

* ETS forecaster

* add y checks and conversion

* add tag

* tidy

* _check_is_fitted()

* _check_is_fitted()

* Add fully functional ETS Forecaster. Modify base to not set default y in forecast. Update tests for ETS Forecaster. Add script to verify ETS Forecaster against statsforecast module using a large number of random parameter inputs.

* Add fully functional ETS Forecaster. Modify base to not set default y in forecast. Update tests for ETS Forecaster. Add script to verify ETS Forecaster against statsforecast module using a large number of random parameter inputs. (#2318)

Co-authored-by: Alex Banwell <arb1g19@soton.ac.uk>

* Add faster numba version of ETS forecaster

* Seperate out predict code, and add test to test without creating a class - significantly faster!

* Modify _verify_ets.py to allow easy switching between statsforecast versions. This confirms that my algorithms without class overheads is significantly faster than nixtla statsforecast, and with class overheads, it is faster than their current algorithm

* Add basic gradient decent optimization algorithm for smoothing parameters

* Ajb/forecasting (#2357)

* Add fully functional ETS Forecaster. Modify base to not set default y in forecast. Update tests for ETS Forecaster. Add script to verify ETS Forecaster against statsforecast module using a large number of random parameter inputs.

* Add faster numba version of ETS forecaster

* Seperate out predict code, and add test to test without creating a class - significantly faster!

* Modify _verify_ets.py to allow easy switching between statsforecast versions. This confirms that my algorithms without class overheads is significantly faster than nixtla statsforecast, and with class overheads, it is faster than their current algorithm

* Add basic gradient decent optimization algorithm for smoothing parameters

---------

Co-authored-by: Alex Banwell <arb1g19@soton.ac.uk>

* Add additional AutoETS algorithms, and comparison scripts

* Add ARIMA model in

* [MNT] Testing fixes (#2531)

* adjust test for non numpy output

* test list output

* test dataframe output

* change pickle test

* equal nans

* test scalar output

* fix lists output

* allow arrays of objects

* allow arrays of objects

* test for boolean elements (MERLIN)

* switch to deep equals

* switch to deep equals

* switch to deep equals

* message

* testing fixes

---------

Co-authored-by: Tony Bagnall <ajb@uea.ac.uk>

* Automated `pre-commit` hook update (#2533)

Co-authored-by: MatthewMiddlehurst <25731235+MatthewMiddlehurst@users.noreply.github.com>

* [DOC] Improve type hint guide and add link to the page. (#2532)

* type hints

* bad change

* text

* Add new datasets to tsf_datasets.py

* Add functions for writing out .tsf files, as well as functions for manipulating the train/test split and windowing

* Fix issues causing tests to fail

* [DOC] Add 'Raises' section to docstring (#1766) (#2484)

* Fix line endings

* Moved test_cboss.py to testing/tests directory

* Updated docstring comments and made methods protected

* Fix line endings

* Moved test_cboss.py to testing/tests directory

* Updated docstring comments and made methods protected

* Updated

* Updated

* Removed test_cboss.py

* Updated

* Updated

* Add files for generating the datasets, and the CSV for the chosen datasets

* Add windowed series train/test files

* Automated `pre-commit` hook update (#2541)

Co-authored-by: MatthewMiddlehurst <25731235+MatthewMiddlehurst@users.noreply.github.com>

* fix test (#2528)

* [BUG] add ExpSmoothingSeriesTransformer and MovingAverageSeriesTransformer to __init__ (#2550)

* update docs to fix 2548 docs

* update init to fix 2548 bug

* Automated `pre-commit` hook update (#2567)

Co-authored-by: MatthewMiddlehurst <25731235+MatthewMiddlehurst@users.noreply.github.com>

* [MNT] Bump ossf/scorecard-action in the github-actions group (#2569)

Bumps the github-actions group with 1 update: [ossf/scorecard-action](https://github.com/ossf/scorecard-action).


Updates `ossf/scorecard-action` from 2.4.0 to 2.4.1
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](ossf/scorecard-action@v2.4.0...v2.4.1)

---
updated-dependencies:
- dependency-name: ossf/scorecard-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* [ENH] Added class weights to feature based classifiers (#2512)

* class weights added to classification/feature based

* Automatic `pre-commit` fixes

* Test function for Catch22Classifier added

* Test function for SummaryClassifier added

* Test for tsfreshClassifier added

* Soft dependecy check added for tsfresh

* Test signature test case added

* added test_mlp.py (#2537)

* test file for FCNNetwork added (#2559)

* Documentation improvement of certain BaseClasses (#2516)

Co-authored-by: Antoine Guillaume <antoine.guillaume45@gmail.com>

* [ENH] Test coverage for AEFCNNetwork Improved  (#2558)

* test file added for aefcn

* Test file for aefcn added

* Test file reforammted

* soft dependency added

* name issues resolved

* [ENH] Test coverage for TimeCNNNetwork Improved (#2534)

* Test coverage improved for cnn network

* assertion changed for test_cnn

* coverage improved along with naming

* [ENH] Test coverage for Resnet Network (#2553)

* Resnet pytest

* Resnet pytest

* Fixed tensorflow failing

* Added Resnet in function name

* 📝 Add shinymack as a contributor for code (#2577)

* 📝 Update CONTRIBUTORS.md [skip ci]

* 📝 Update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* 📝 Add kevinzb56 as a contributor for doc (#2588)

* 📝 Update CONTRIBUTORS.md [skip ci]

* 📝 Update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* [MNT] Raise version bound for `scikit-learn` 1.6 (#2486)

* update ver and new tags

* default tags

* toml

* Update _shapelets.py

Fix linear estimator coefs issue

* expected results

* Change expected results

* update

* only linux

* remove mixins just to see test

* revert

---------

Co-authored-by: Antoine Guillaume <antoine.guillaume45@gmail.com>

* [MNT] Bump the python-packages group across 1 directory with 2 updates (#2598)

Updates the requirements on [scipy](https://github.com/scipy/scipy) and [sphinx](https://github.com/sphinx-doc/sphinx) to permit the latest version.

Updates `scipy` to 1.15.2
- [Release notes](https://github.com/scipy/scipy/releases)
- [Commits](scipy/scipy@v1.9.0...v1.15.2)

Updates `sphinx` to 8.2.3
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/master/CHANGES.rst)
- [Commits](sphinx-doc/sphinx@v0.1.61611...v8.2.3)

---
updated-dependencies:
- dependency-name: scipy
  dependency-type: direct:production
  dependency-group: python-packages
- dependency-name: sphinx
  dependency-type: direct:production
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Automated `pre-commit` hook update (#2581)

Co-authored-by: MatthewMiddlehurst <25731235+MatthewMiddlehurst@users.noreply.github.com>

* Automated `pre-commit` hook update (#2603)

Co-authored-by: MatthewMiddlehurst <25731235+MatthewMiddlehurst@users.noreply.github.com>

* [ENH] Adds support for distances that are asymmetric but supports unequal length (#2613)

* Adds support for distances that are asymmetric but supports unequal length

* Added name to contributors

* create smoothing filters notebook (#2547)

* Remove datasets added

* Reorganise code for generating train/test cluster files, including adding sliding window and train/test transformers

* Add NaiveForecaster

* Fix Bug in NaiveForecaster

* Fix dataset generate script stuff

* [DOC] Notebook on Feature-based Clustering (#2579)

* Feature-based clustering

* Feature-based clustering update

* Update clustering overview

* formatting

* Automated `CONTRIBUTORS.md` update (#2614)

Co-authored-by: chrisholder <4674372+chrisholder@users.noreply.github.com>

* Updated Interval Based Notebook (#2620)

* [DOC] Added Docstring for regression forecasting (#2564)

* Added Docstring for Regression

* Added Docstring for Regression

* exog fix

* GSoC announcement (#2629)

* Automated `pre-commit` hook update (#2632)

Co-authored-by: MatthewMiddlehurst <25731235+MatthewMiddlehurst@users.noreply.github.com>

* [MNT] Bump tj-actions/changed-files from 45 to 46 in the github-actions group (#2637)

* [MNT] Bump tj-actions/changed-files in the github-actions group

Bumps the github-actions group with 1 update: [tj-actions/changed-files](https://github.com/tj-actions/changed-files).


Updates `tj-actions/changed-files` from 45 to 46
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](tj-actions/changed-files@v45...v46)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update pr_precommit.yml

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthew Middlehurst <pfm15hbu@gmail.com>

* [MNT] Update numpy requirement in the python-packages group (#2643)

Updates the requirements on [numpy](https://github.com/numpy/numpy) to permit the latest version.

Updates `numpy` to 2.2.4
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)
- [Commits](numpy/numpy@v1.21.0...v2.2.4)

---
updated-dependencies:
- dependency-name: numpy
  dependency-type: direct:production
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* [MNT,DEP] _binary.py metrics deprecated  (#2600)

* functions deprecated

* Empty-Commit

* version changed

* Support for unequal length timeseries in itakura parallelogram (#2647)

* [ENH] Implement DTW with Global alignment (#2565)

* Implements Dynamic Time Warping with Global Invariances

* Adds Numba JIT compilation support

* Adds docs and numba support for dtw_gi and test_distance fixed

* Fixes doctests

* Automatic `pre-commit` fixes

* Minor changes

* Minor changes

* Remove dtw_gi function and combine with private method _dtw_gi

* Adds parameter tests

* Fixes doctests

* Minor changes

* [ENH] Adds kdtw kernel support for kernelkmeans (#2645)

* Adds kdtw kernel support for kernelkmeans

* Code refactor

* Adds tests for kdtw clustering

* minor changes

* minor changes

* [MNT] Skip some excected results tests when numba is disabled (#2639)

* skip some numba tests

* Empty commit for CI

* Update testing_config.py

---------

Co-authored-by: MatthewMiddlehurst <25731235+MatthewMiddlehurst@users.noreply.github.com>

* [MNT] Remove REDCOMETs from testing exclusion list (#2630)

* remove excluded estimators

* redcomets fix

* Ensure ETS algorithms are behaving correctly, and do more testing on AutoETS, along with AutoETS forecaster class

* Fix a couple of bugs in the forecasters, add Sktime and StatsForecast wrappers for their AutoETS implementations

* [ENH] Replace `prts` metrics (#2400)

* Pre-commit fixes

* Position parameter in calculate_bias

* Added recall metric

* merged into into one file

* test added

* Changes in test and range_metrics

* list of list running but error!

* flattening lists, all cases passed

* Empty-Commit

* changes

* Protected functions

* Changes in documentation

* Changed test cases into seperate functions

* test cases added and added range recall

* udf_gamma removed from precision

* changes

* more changes

* recommended changes

* changes

* Added Parameters

* removed udf_gamma from precision

* Added binary to range

* error fixing

* test comparing prts and range_metrics

* Beta parameter added in fscore

* Added udf_gamma function

* f-score failing when comparing against prts

* fixed f-score output

* alpha usage

* Empty-Commit

* added test case to use range-based input for metrics

* soft dependency added

* doc update

---------

Co-authored-by: Matthew Middlehurst <pfm15hbu@gmail.com>
Co-authored-by: Sebastian Schmidl <10573700+SebastianSchmidl@users.noreply.github.com>

* Clarify documentation regarding unequal length series limitation (#2589)

Co-authored-by: Matthew Middlehurst <pfm15hbu@gmail.com>

* Automated `pre-commit` hook update (#2683)

Co-authored-by: MatthewMiddlehurst <25731235+MatthewMiddlehurst@users.noreply.github.com>

* [MNT] Bump tj-actions/changed-files in the github-actions group (#2686)

Bumps the github-actions group with 1 update: [tj-actions/changed-files](https://github.com/tj-actions/changed-files).


Updates `tj-actions/changed-files` from 46.0.1 to 46.0.3
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](tj-actions/changed-files@v46.0.1...v46.0.3)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* [ENH] Set `outlier_norm` default to True for Catch22 estimators (#2659)

* sets outlier_norm=True by deafault

* Minor changes

* Docs improvement

* [MNT] Use MacOS for examples/ workflow (#2668)

* update bash to 5.x for lastpipe support

* added esig installation

* install boost before esig

* fixed examples path issue for excluded notebooks

* switched to fixed version of macos

* added signature_method.ipynb to excluded list

* removed symlink for /bin/bash

* Correct AutoETS algorithms to not use multiplicative error models for data which is not strictly positive. Add check to ets for this

* Reject multiplicative components for data not strictly positive

* Update dependencies.md (#2717)

Correct typo in dependencies.md

* Automated `pre-commit` hook update (#2708)

Co-authored-by: MatthewMiddlehurst <25731235+MatthewMiddlehurst@users.noreply.github.com>

* [ENH] Test Coverage for Pairwise Distance (#2590)

* Pairwise distance matrix test

* Empty commit for CI

---------

Co-authored-by: MatthewMiddlehurst <25731235+MatthewMiddlehurst@users.noreply.github.com>

* re-running notebook for fixing cell output error (#2597)

* Docstring (#2609)

* [DOC] Add 'Raises' section to docstring #1766 (#2617)

* [DOC] Add 'Raises' section to docstring #1766

* Automatic `pre-commit` fixes

* Update _base.py

* Automatic `pre-commit` fixes

---------

Co-authored-by: ayushsingh9720 <199482418+ayushsingh9720@users.noreply.github.com>

* [DOC] Contributor docs update (#2554)

* contributing docs update

* contributing docs update 2

* typos

* Update contributing.md

new section

* Update testing.md

testing update

* Update contributing.md

dont steal code

* Automatic `pre-commit` fixes

* Update contributing.md

if

---------

Co-authored-by: MatthewMiddlehurst <25731235+MatthewMiddlehurst@users.noreply.github.com>
Co-authored-by: Antoine Guillaume <antoine.guillaume45@gmail.com>

* prevent assignment on PRs (#2703)

* Update run_examples.sh (#2701)

* [BUG] SevenNumberSummary bugfix and input rename (#2555)

* summary bugfix

* maintainer

* test

* readme (#2556)

* remove MutilROCKETRegressor from alias mapping (#2623)

Co-authored-by: Matthew Middlehurst <pfm15hbu@gmail.com>

* Automated `pre-commit` hook update (#2731)

Co-authored-by: MatthewMiddlehurst <25731235+MatthewMiddlehurst@users.noreply.github.com>

* [MNT] Bump the github-actions group with 2 updates (#2733)

Bumps the github-actions group with 2 updates: [actions/create-github-app-token](https://github.com/actions/create-github-app-token) and [tj-actions/changed-files](https://github.com/tj-actions/changed-files).


Updates `actions/create-github-app-token` from 1 to 2
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](actions/create-github-app-token@v1...v2)

Updates `tj-actions/changed-files` from 46.0.3 to 46.0.4
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](tj-actions/changed-files@v46.0.3...v46.0.4)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-version: '2'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: tj-actions/changed-files
  dependency-version: 46.0.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fixed a few spelling/grammar mistakes on TSC docs examples (#2738)

* Fix docstring inconsistencies in benchmarking module (resolves #809) (#2735)

* issue#809 Fix docstrings for benchmarking functions

* Fixed docstrings in results_loaders.py

* Fix docstring inconsistencies in benchmarking module - resolves #809

* Fix docstring inconsistencies in benchmarking module - resolves #809

* [ENH] `best_on_top` addition in `plot_pairwise_scatter` (#2655)

* Empty-Commit

* best_on_top parameter added

* changes

* [ENH] Add dummy clusterer tags (#2551)

* dummy clusterer tags

* len

* [ENH] Collection conversion cleanup and `df-list` fix (#2654)

* collection conversion cleanup

* notebook

* fixes

---------

Co-authored-by: Tony Bagnall <a.j.bagnall@soton.ac.uk>

* [MNT] Updated the release workflows (#2638)

* edit release workflows to use trusted publishing

* docs

* [MNT,ENH]  Update to allow Python 3.13 (#2608)

* python 3.13

* tensorflow

* esig

* tensorflow

* tensorflow

* esig and matrix profile

* signature notebook

* remove prts

* fix

* remove annoying deps from all_extras

* Update pyproject.toml

* [ENH] Hard-Coded Tests for `test_metrics.py` (#2672)

* Empty-Commit

* hard-coded tests

* changes

* Changed single ticks to double (#2640)

Co-authored-by: Matthew Middlehurst <pfm15hbu@gmail.com>

* 📝 Add HaroonAzamFiza as a contributor for doc (#2740)

* 📝 Update CONTRIBUTORS.md [skip ci]

* 📝 Update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* [ENH,MNT] Assign Bot (assigned issues>2) (#2702)

* Empty-Commit

* point 2 working

* changes

* changes in comment message

* [MNT,ENH] Assign-bot (Allow users to type alternative phrases for assingment) (#2704)

* added extra features

* added comments

* optimized code

* optimized code

* made changes requested by moderators

* fixed conflicts

* fixed conflicts

* fixed conflicts

---------

Co-authored-by: Ramana-Raja <ramanarajakesavaraja@gamil.com>

* 📝 Add Ramana-Raja as a contributor for code (#2741)

* 📝 Update CONTRIBUTORS.md [skip ci]

* 📝 Update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* Release v1.1.0 (#2696)

* v1.1.0 draft

* finish

* Automated `pre-commit` hook update (#2743)

Co-authored-by: MatthewMiddlehurst <25731235+MatthewMiddlehurst@users.noreply.github.com>

* [MNT] Bump the github-actions group with 2 updates (#2744)

Bumps the github-actions group with 2 updates: [crs-k/stale-branches](https://github.com/crs-k/stale-branches) and [tj-actions/changed-files](https://github.com/tj-actions/changed-files).


Updates `crs-k/stale-branches` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/crs-k/stale-branches/releases)
- [Commits](crs-k/stale-branches@v7.0.0...v7.0.1)

Updates `tj-actions/changed-files` from 46.0.4 to 46.0.5
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](tj-actions/changed-files@v46.0.4...v46.0.5)

---
updated-dependencies:
- dependency-name: crs-k/stale-branches
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: tj-actions/changed-files
  dependency-version: 46.0.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* [DOC] Add implementation references (#2748)

* implementation references

* better attribution

* use gpu installs for periodic tests (#2747)

* Use shape calculation in _fit to optimize QUANTTransformer (#2727)

* [REF] Refactor Anomaly Detection Module into Submodules by Algorithm Family (#2694)

* Refactor Anomaly Detection Module into Submodules by Algorithm Family

* updated documentation and references

* implemented suggested changes

* minor changes

* added headers for remaining algorithm family

* removing tree-based header

* Automated `pre-commit` hook update (#2756)

Co-authored-by: MatthewMiddlehurst <25731235+MatthewMiddlehurst@users.noreply.github.com>

* [ENH]Type hints/forecasting (#2737)

* Type hints for primitive data types in base module

* Type hints for primitive data types and strings
in forecating module

* type hints for primitives in foreacasting module

* Revert "type hints for primitives in foreacasting module"

This reverts commit 575122d.

* type hints for primitives in forecasting module

* Automated `pre-commit` hook update (#2766)

Co-authored-by: MatthewMiddlehurst <25731235+MatthewMiddlehurst@users.noreply.github.com>

* [ENH] Implement `load_model` function for ensemble classifiers (#2631)

* feat: implement `load_model` function for LITETimeClassifier

Implement separate `load_model` function for LITETimeClassifier, which takes in `model_path` as list of strings and `classes` and loads all the models separately and stores them in `self.classifiers_`

* feat: implement `load_model` function for InceptionTimeClassifier

Implement separate `load_model` function for InceptionTimeClassifier, which takes in `model_path` as list of strings and `classes` and loads all the models separately and stores them in `self.classifiers_`

* fix: typo in load model function

* feat: convert load_model functions to classmethods

* test: implement test for save load for LITETIME and Inception classification models

* Automatic `pre-commit` fixes

* refactor: move loading tests to separate files

* Update _ae_abgru.py (#2771)

* Automated `pre-commit` hook update (#2779)

Co-authored-by: MatthewMiddlehurst <25731235+MatthewMiddlehurst@users.noreply.github.com>

* [DOC] Fix Broken [Source] Link and Improve Documentation for suppress_output() (#2677)

* Fix Broken [Source] Link and Improve Documentation for suppress_output() Function

* modified docstring and added tests

* modified docstring example

* modifying docstring examples

* modifying docstring examples

* updating conf file

* updated docstring

* base transform tidy (#2773)

* DOC: Add Raises section for invalid weights in KNeighborsTimeSeriesClassifier (#1766) (#2764)

Document the ValueError raised during initialization when an unsupported value is passed to the 'weights' parameter.

Clarifies expected exceptions for users and improves API documentation consistency.

Co-authored-by: Matthew Middlehurst <pfm15hbu@gmail.com>

* [ENH] Fixes Issue Improve `_check_params` method in `kmeans.py` and `kmedoids.py` (#2682)

* Improves _check_params

* removes function and adds a var

* minor changes

* minor changes

* minor changes

* line endings to LF

* use variable instead of duplicating strings

* weird file change

* weird file change

---------

Co-authored-by: Matthew Middlehurst <pfm15hbu@gmail.com>

* [ENH] Add type hints for deep learning regression classes (#2644)

* type hints for cnn for regrssion

* editing import modules Model & Optim

* type hints for disjoint_cnn for regrssion

* FIX type hints _get_test_params

* ENH Change linie of importing typing

* type hints for _encoder for regrssion

* type hints for _fcn for regrssion

* type hints for _inception_time for regrssion

* type hints for _lite_time for regrssion

* type hints for _mlp for regrssion

* type hints for _resnet for regrssion

* type hints for _base for regrssion

* FIX: mypy errors in _disjoint_cnn.py file

* FIX: mypy typing errors

* Fix: Delete variable types, back old-verbose

* FIX: add model._save in save_last_model_to_file function

* FIX: Put TYPE_CHECKING downside

* Fix: Put Any at the top

* [DOC] Add RotationForest Classifier Notebook for Time Series Classification (#2592)

* Add RotationForest Classifier Notebook for Time Series Classification

* Added references and modified doc

* minor modifications to notebook description

* Update rotation_forest.ipynb

---------

Co-authored-by: Matthew Middlehurst <pfm15hbu@gmail.com>

* fix: Codeowners for benchmarking metrics AD (#2784)

* [GOV] Supporting Developer role (#2775)

* supporting dev role

* pr req

* Update governance.md

* typo

* Automatic `pre-commit` fixes

* aeon

---------

Co-authored-by: MatthewMiddlehurst <25731235+MatthewMiddlehurst@users.noreply.github.com>

* [MNT, ENH, DOC] Rework similarity search (#2473)

* WIP remake module structure

* Update _brute_force.py

* Update test__commons.py

* WIP mock and test

* Add test for base subsequence

* Fix subsequence_search tests

* debug brute force mp

* more debug of subsequence tests

* more debug of subsequence tests

* Add functional LSH neighbors

* add notebook for sim search tasks

* Updated series similarity search

* Fix mistake addition in transformers and fix base classes

* Fix registry and api reference

* Update documentation and fix some leftover bugs

* Update documentation and add default test params

* Fix identifiers and test data shape for all_estimators tests

* Fix missing params

* Fix n_jobs params and tags, add some docs

* Fix numba test bug and update testing data for sim search

* Fix imports, testing data tests, and impose predict/_predict interface to all sim search estimators

* Fix args

* Fix extract test

* update docs api and notebooks

* remove notes

* Patrick comments

* Adress comments and clean index code

* Fix Patrick comments

* Fix variable suppression mistake

* Divide base class into task specific

* Fix typo in imports

* Empty commit for CI

* Fix typo again

* Add  check_inheritance exception for similarity search

* Revert back to non per type base classes

* Factor check index and typo in test

---------

Co-authored-by: Patrick Schäfer <patrick.schaefer@hu-berlin.de>
Co-authored-by: Matthew Middlehurst <pfm15hbu@gmail.com>
Co-authored-by: baraline <10759117+baraline@users.noreply.github.com>

* [ENH] Adapt the DCNN Networks to use Weight Norm Wrappers (#2628)

* adapt the dcnn networks to use weight norm wrappers and remove l2 regularization

* Automatic `pre-commit` fixes

* add custom object

* Automatic `pre-commit` fixes

* fix trial

---------

Co-authored-by: Matthew Middlehurst <pfm15hbu@gmail.com>

* [GOV] Remove inactive developers (#2776)

* inactive devs

* logo fix

* Automated `pre-commit` hook update (#2792)

Co-authored-by: MatthewMiddlehurst <25731235+MatthewMiddlehurst@users.noreply.github.com>

* Code to generate differenced datasets

* Add AutoARIMA algorithm into Aeon

* Add ArimaForecaster to forecasting list

* Fix predict method to return the prediction in the correct format

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Tony Bagnall <ajb@uea.ac.uk>
Co-authored-by: Tony Bagnall <a.j.bagnall@soton.ac.uk>
Co-authored-by: MatthewMiddlehurst <m.middlehurst@uea.ac.uk>
Co-authored-by: Alex Banwell <arb1g19@soton.ac.uk>
Co-authored-by: Matthew Middlehurst <pfm15hbu@gmail.com>
Co-authored-by: aeon-actions-bot[bot] <148872591+aeon-actions-bot[bot]@users.noreply.github.com>
Co-authored-by: MatthewMiddlehurst <25731235+MatthewMiddlehurst@users.noreply.github.com>
Co-authored-by: Nikita Singh <singhnikkita444@gmail.com>
Co-authored-by: Ali El Hadi ISMAIL FAWAZ <54309336+hadifawaz1999@users.noreply.github.com>
Co-authored-by: Cyril Meyer <69190238+Cyril-Meyer@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Balgopal Moharana <99070111+lucifer4073@users.noreply.github.com>
Co-authored-by: Akash Kawle <128881349+shinymack@users.noreply.github.com>
Co-authored-by: Kevin Shah <161136814+kevinzb56@users.noreply.github.com>
Co-authored-by: Antoine Guillaume <antoine.guillaume45@gmail.com>
Co-authored-by: Kavya Rambhia <161142013+kavya-r30@users.noreply.github.com>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Tanish Yelgoe <143334319+tanishy7777@users.noreply.github.com>
Co-authored-by: Divya Tiwari <108270861+itsdivya1309@users.noreply.github.com>
Co-authored-by: chrisholder <4674372+chrisholder@users.noreply.github.com>
Co-authored-by: Aryan Pola <98093778+aryanpola@users.noreply.github.com>
Co-authored-by: Sebastian Schmidl <10573700+SebastianSchmidl@users.noreply.github.com>
Co-authored-by: Kaustubh <97254178+Kaustbh@users.noreply.github.com>
Co-authored-by: TinaJin0228 <60577222+TinaJin0228@users.noreply.github.com>
Co-authored-by: Ayush Singh <rawatsinghayush9720@gmail.com>
Co-authored-by: ayushsingh9720 <199482418+ayushsingh9720@users.noreply.github.com>
Co-authored-by: HaroonAzamFiza <haroonazamfiza@gmail.com>
Co-authored-by: adityagh006 <142653450+adityagh006@users.noreply.github.com>
Co-authored-by: V_26@ <valencia.saldanha26@gmail.com>
Co-authored-by: Ramana Raja <83065061+Ramana-Raja@users.noreply.github.com>
Co-authored-by: Ramana-Raja <ramanarajakesavaraja@gamil.com>
Co-authored-by: Ahmed Zahran <136983104+Ahmed-Zahran02@users.noreply.github.com>
Co-authored-by: Adarsh Dubey <dubeyadarshmain@gmail.com>
Co-authored-by: Somto Onyekwelu <117727947+SomtoOnyekwelu@users.noreply.github.com>
Co-authored-by: Saad Al-Tohamy <92796871+saadaltohamy@users.noreply.github.com>
Co-authored-by: Patrick Schäfer <patrick.schaefer@hu-berlin.de>
Co-authored-by: baraline <10759117+baraline@users.noreply.github.com>
Co-authored-by: Aadya Chinubhai <77720426+aadya940@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature, improvement request or other non-bug code enhancement regression Regression package
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants