Description
Describe the issue linked to the documentation
The clustering component in aeon currently supports only partition-based methods. However, there are also hierarchical, spectral, and density-based clustering methods [1].
Suggest a potential alternative/fix
Using the distance metrics in aeon, we can pre-compute the distance matrix for traditional clustering methods. Some methods are already implemented in sklearn, which is a core dependency of eaon and, thus, available to users. I think we should at least link to the sklearn-clusterers in the documentation. With a bit more effort, we could provide examples on how to use sklearn's clusterers with aeon's distance measures (here).
- hierarchical clustering:
sklearn.cluster.AgglomerativeClustering
withmetric="precomputed"
- density-based clustering:
sklearn.cluster.DBSCAN
withmetric="precomputed"
sklearn.cluster.OPTICS
withmetric="precomputed"
- Density Peaks? https://doi.org/10.1007/s10115-018-1189-7 ➡️ separate issue [ENH] Density Peaks (DP) clusterer #2133
- spectral clustering:
sklearn.cluster.SpectralClustering
withaffinity="precomputed"
and the inverse of the distance matrix (large values indicate greater similarity)
I did not yet test this approach.
[1]: Paparrizos, John, and Luis Gravano. "Fast and Accurate Time-Series Clustering." ACM Transactions on Database Systems 42, no. 2 (2017): 8:1-8:49. https://doi.org/10.1145/3044711.