There are well-recognized cross-validation based methods to select the number of clusters (e.g. in this answer) . However, suppose I know the number of clusters beforehand, can I select the final clustering result likewise? particularly when using methods such that different random-initializations will lead to different output (e.g. k-means), is it reasonable to split the data into two groups, run multiple trials on each group, then select the clustering result that is most reproducible across trials across these two groups? I wonder if there is any relevant paper on this?