Во многих случаях порядок кластеров зависит от инициализации. Если вы укажете начальные значения, этот порядок будет сохранен.
Если вы не предоставите такие начальные значения, порядок обычно будет основан на порядке данных. Например, первый элемент, вероятно, принадлежит первому кластеру (в некоторых алгоритмах, таких как DBSCAN, нет шума).
Теперь количество (размер кластера) имеет интересный эффект: если предположить, что ваши данные упорядочены случайным образом (а не, например, упорядочены каким-либо синтетическим процессом генерации данных), тогда первый элемент с большей вероятностью будет принадлежать «наибольшему» кластер, поэтому этот кластер, скорее всего, будет первым, даже со «случайным» порядком.
Теперь в среднем сдвиге Склеарна (который, по моему мнению, содержит ошибку в конечном правиле назначения), авторы решили сортировать по «интенсивности», по-видимому, но я не помню ни одного такого правила в оригинальных статьях. https://github.com/scikit-learn/scikit-learn/blob/7813f7efb/sklearn/cluster/mean_shift_.py#L222