I am trying to extract a fixed (and known) number of clusters from a set of points using Matlab. An immediate clustering method that I tried is the k-means algorithm which seems to tick all the boxes.
Unfortunately, in some cases, the subsets (or clusters) extracted are intertwined, as shown in the image below for the left-most cluster:
[
]
Is there a way to set the k-means algorithm, so that the generated clusters are disconnected? Is there a way to post-process the cluster indices returned by the k-means algorithm, so as to obtain "disconnected" clusters? Alternatively, is there another clustering method that might be more suitable?
Thanks!