Skip to content

Commit 5088e4e

Browse files
IRKnyazevMoonzyyy
andauthored
[DOC] Shapelet transform notebook (#2046)
* Initial notebook structure * SAST only works on univariate - will need different dataset * made notebook framework up to viz * collected information for gunpoint dataset * no longer want to explore the default transformer params, rather use the same params across them where possible * generated viz for gunpoint (not looking as expected atm) * grouped the graph viz more clearly * visualising all shapelets on one graph * cleaned up and reordered * Time Series Data On Graph * Extended daniele's graph to be one for each class * Added notebook plan * showing pandas head for each transform - need descriptions * few correction, pushing for daniele * changed wrong docstring param naming from classifier to estimator for consistency * Made RF classifier for each transform to rank shapelets * Addition of RidgeClassifierCV * Made RF classifier for each transform to rank shapelets * Changes from random state to seed for SAST * found a good random seed for shapelet gen * making new branch for a quick PR * plotting shapelets by class * showing best and worst shapelet for a class using rccv * trying to set up dev version * was thinking about worst shapelets incorrectly this whole time * gen best and worst shapelet for each class - RST * shapelet attribute is completely different in rdst * can't access shapelet start point, making seperate PR for this * notebook command for reloading aeon * local changes can now be seen in nb * added shapelet startpos (wont commit those changes tho) * added startpos to shapelets list * added docstring for startpoints * changed startpos vals to int32 * plotting dilated shapelets! * not using both classifers for remaining transforms * plotting dilated shapelets split into classes * continued work on rdst * added dilation legend to RDST shapelet plot * _get_shp_importance handles RDST weirdly * visualise best shapelet one class works wrong for rdst - making issue and PR * dont need best and worst for each class as theyre mirrors * giving RDST same length param as RST * merge * trying to plot the shapelets extracted with SAST * adding analysis & trying to understand SAST * plotted top 10 shapelets sast without start pos * plotting SAST shapelets and understanding their roots * using original dast attribute for source ts * using original dast attribute for source ts * generated all figures for notebook * formalising notebook & adding analysis * added notes from SAST paper * added notes from rdst * almost done ST analysis, trying to make sense of importance * changed rccv to logistic regression which is easier to interpret * finished with RST analysis * my label encoding understanding for STC is wrong * STC and RDST graphs and classes make sense - issue2016 * writing analysis of STC and RDST graphs * first draft of notebook done * article 1 for medium * article 3 for medium * article 2 for medium * medium article 4 * summary of transforms * Notebok draft ready for review * updated aeon.registry to utils.discovery * resolving conflicts --------- Co-authored-by: Moonzyyy <[email protected]>
1 parent d62d277 commit 5088e4e

File tree

4 files changed

+4167
-3
lines changed

4 files changed

+4167
-3
lines changed

aeon/classification/compose/_pipeline.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class ClassifierPipeline(BaseCollectionPipeline, BaseClassifier):
4242
the str is used to name the transformer.
4343
The objecst are cloned prior, as such the state of the input will not be
4444
modified by fitting the pipeline.
45-
classifier : aeon or sklearn classifier
45+
estimator : aeon or sklearn classifier
4646
A classifier to use at the end of the pipeline.
4747
The object is cloned prior, as such the state of the input will not be modified
4848
by fitting the pipeline.

aeon/classification/shapelet_based/_rsast.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class RSASTClassifier(BaseClassifier):
3232
the number of reference time series to select per class
3333
seed : int, default = None
3434
the seed of the random generator
35-
classifier : sklearn compatible classifier, default = None
35+
estimator : sklearn compatible classifier, default = None
3636
if None, a RidgeClassifierCV(alphas=np.logspace(-3, 3, 10)) is used.
3737
n_jobs : int, default -1
3838
Number of threads to use for the transform.

aeon/classification/shapelet_based/_sast.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class SASTClassifier(BaseClassifier):
3434
the number of reference time series to select per class
3535
seed : int, default = None
3636
the seed of the random generator
37-
classifier : sklearn compatible classifier, default = None
37+
estimator : sklearn compatible classifier, default = None
3838
if None, a RidgeClassifierCV(alphas=np.logspace(-3, 3, 10)) is used.
3939
n_jobs : int, default -1
4040
Number of threads to use for the transform.

examples/transformations/shapelets.ipynb

+4,164
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)