I have data like this:
data = {5, 12, 18, 19, 20, 23, 24, 26};
On Mathematica 11.1, clustering produces a variable final choice of clusters. For example:
Tally@Table[ClusteringComponents[data, Method -> "Agglomerate"], 100]
gives:
{{{1, 2, 3, 3, 3, 3, 3, 3}, 74}, {{1, 2, 2, 2, 3, 3, 3, 3}, 8}, {{1, 2, 2, 3, 3, 3, 3, 3}, 18}}
But on Mathematica 10.4, I always get:
{{{1, 2, 2, 2, 2, 2, 2, 2}, 100}}
Fixing the number of clusters in Mathematica 11.1:
Tally@Table[ClusteringComponents[data, 2, Method -> "Agglomerate"], 100]
also produces a variable answer:
{{{1, 2, 2, 2, 2, 2, 2, 2}, 30}, {{1, 1, 2, 2, 2, 2, 2, 2}, 70}}
Is this correct? If so, what has changed and how is this final decision controlled?
As mentioned in Alexey's comment, you can control randomness with RandomSeeding. However, it remains unclear to me why version 10.4 gives a different answer to the random answers of v11.1. In other words, there does not seem to be a random seed for v11.1 that will give the same answer as v10.4.
To clarify further, the first data point (5) has a greater distance to 12 than between any of the other neighbouring points. Hence, using single linkage shouldn't one expect the first data point to be one of the final two clusters?

{{{1, 1, 1, 1, 1, 1, 1, 1}, 100}}for the inputTally@Table[ClusteringComponents[data, Method -> "Agglomerate"], 100]. – Alexey Popkov Apr 18 '17 at 04:05