[ENH] add time series agglomerative clusterer#3553
Conversation
Thank you for contributing to
|
|
Temporarily changed to Draft PR; experimental comparisons are being added gradually |
TonyBagnall
left a comment
There was a problem hiding this comment.
thanks for this, sorry for the delay.
- could you update the init file to include the new clusterer?
- we need to resolve how to handle predict is empty. I'll get back to you on that
- testing coverage could be improved
- _pairwise_distance silently symmetrises the distance matrix
I would prefer a test and raising an exception, since its quite possible we do get an asymmetric distance and we will need to work out what to do rahter than silently "fixing" it - File name uses camel case, it should just be _agglomorative, location implies clustering
- Also add the usual estimator conventions used elsewhere in aeon, such as all, maintainer, and _get_test_params,
|
This update adds Main changes:
I kept the tests focused on the aeon wrapper behavior rather than retesting |
|
The failing CI checks come from aeon's generic estimator tests calling |
|
I have added |


Reference Issues/PRs
Fixes #3433 . See also #1241
What does this implement/fix? Explain your changes.
A
TimeSeriesAgglomerativehas been implemented by usingaeonto compute a pairwise time series distance matrix (e.g. Euclidean distance, DTW or MSM), and then applying scikit-learn’sAgglomerativeClusteringalgorithm to this pre-computed distance matrix. It supports single-linkage, complete-linkage and average-linkage clustering, but does not support Ward’s linkage clustering, as this method is incompatible with any pre-computed time series distance.Does your contribution introduce a new dependency? If yes, which one?
no, Based entirely on sklearn and Aeon
Any other comments?
I will first submit the interface for this level of clustering; if it is approved, I will subsequently add code for reliability verification in
aeon\clustering\test.PR checklist
For all contributions
For new estimators and functions
__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