Skip to content
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

ShapeletTransformClassifier rework and documentation for HC2 #1490

Merged
merged 78 commits into from Oct 12, 2021
Merged

Conversation

MatthewMiddlehurst
Copy link
Contributor

@MatthewMiddlehurst MatthewMiddlehurst commented Oct 5, 2021

Contains a new new RandomShapeletTransform transformer with randomly extracted shapelets and contracting. Additions from the original shapelets.py transformers includes tests, documentation, threading and usage of numba. Identical shapelets are removed at the end of the extraction process (#590).

Reworks The ShapeletTransformClassifier estimator with tests, documentation, threading and a _get_train_probs method for usage in the HC2 algorithm as part of #842. Uses the new RandomShapeletTransform and previously added RotationForest classifier. Has a n_shapelet_samples so that contracting isn’t the only option anymore (Solves #898).

Currently the old shapelets.py file remains as it was and is not deprecated. Thoughts on what to do with it @TonyBagnall @jasonlines? The new version cannot do full enumeration currently and there may be a few differences in functionality.

Matthew Middlehurst and others added 30 commits August 8, 2021 15:51
…into main

� Conflicts:
�	sktime/series_as_features/base/estimators/_ensemble.py
@MatthewMiddlehurst MatthewMiddlehurst added the module:classification classification module: time series classification label Oct 5, 2021
@TonyBagnall
Copy link
Contributor

I'll look in detail next week, but all I'll say at this point is wow, fantastic job. Honestly, I could not be more impressed in the way you have as sorted this out. Great job, you have done it so much better than I could have!

@MatthewMiddlehurst MatthewMiddlehurst marked this pull request as ready for review October 8, 2021 22:58
Copy link
Contributor

@TonyBagnall TonyBagnall left a comment

Choose a reason for hiding this comment

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

the core of this is a new shapelet transform that has equivalence to tsml version and uses numba. If you could add some comments to the private functions in the shapelet_transform, esp to the numba and parallel code, then I think its good to go

Copy link
Collaborator

@chrisholder chrisholder left a comment

Choose a reason for hiding this comment

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

Changes look fine from a code perspective. While I don't 100% understand all the implementation logic if it's equivalent to tsml then happy to approve!

@TonyBagnall TonyBagnall merged commit bf5248e into main Oct 12, 2021
@TonyBagnall TonyBagnall deleted the hc2-stc branch October 12, 2021 10:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
module:classification classification module: time series classification
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants