В алгоритмах кластеризации использующих центроиды (да и вообще - построенные на метрических мерах) как правило требуется задание количества кластеров, на которые вы желаете разбить свой набор данных в качестве входного параметра. Измените приведенный выше вами пример на такой - 1,2,4,11,12,18,19,20. И вот уже непонятно, тут три или четыре кластера? Просто в одномерном случае мы можем построить рисуночек и ответить на вопрос визуально. В многомерном так не получается, и определение "корректного" количества кластеров выливается в отдельную и весьма не простую задачу. И точног, абсолютно обоснованного решения, кстати, может и не иметь. Можете поискать "метод колена при кластеризации". Только зачем себе жизнь усложнять?
Если же исходить из того, что данные к вам поступают, например, потоком и их надо бить на некоторые кластеры, то я бы вообще - в одномерном случае!!! - задал правило и не мучился бы. Например, в один кластер попадают точки, отстающие от ближайшей точки кластера не далее чем на 1. Или на 2, или на 3 или вообще на 100 - но это как раз и будет тем семантически зависимым параметром вашего алгоритма. При этом надо признать, что количество кластеров может изменяться. Причем и увеличиваться и уменьшаться. Например, в потоке 8,5,4,1,6,7 - у вас последовательно будет 1,2,2,3,3,2 кластера. Но это более менее согласуется с нашим интуитивным представлением. И главное, опровергнуть корректность именно такого количества кластеров - при заданном правиле - не удастся.