I am trying to automatically extract clusters by density for image embeddings for exploratory analysis. Idea is finding repeating patterns in my dataset, which can be very specific or more general; think images with the exact same background vs images of streets during daytime.
OPTICS seems to work great, but I am finding I need to do sweeps with varying the minimum cluster sizes to extract clusters at these varying levels of specificity. And it does not necessarily allow for constructing a hierarchy -- some sample might be clustered with min_cluster_size=4, end up in no cluster for min_cluster_size=8 and then get clustered again for min_cluster_size=16.
Is there a better density-based method that would allow extracting the kind of hierarchical cluster labels I have in mind? With this rough visualization for example; I would be able to infer that samples in the red and green clusters would also belong in the blue cluster without having to do a sweep with min cluster size set to be larger than the red and green sizes.
Sklearn implementation also provides a cluster hierarchy output, but I cannot tell how to interpret it exactly or translate it to a dendrogram:


clusterer.condensed_tree_.to_pandas()bit to get a dendrogram $\endgroup$