Создайте агломерационные кластеры из данных
T = clusterdata(X,cutoff)T = clusterdata(X,Name,Value) возвращает кластерные индексы для каждого наблюдения (строка) матрицы входных данных T = clusterdata(X,cutoff)X, учитывая порог cutoff для сокращения агломерационного иерархического дерева, которое функция linkage генерирует от X.
clusterdata поддерживает агломерационную кластеризацию и включает pdist, linkage и функции cluster, которые можно использовать отдельно для более детального анализа. Дополнительную информацию см. в Описании Алгоритма.
задает дополнительные опции с помощью одного или нескольких аргументов пары "имя-значение". Например, можно задать T = clusterdata(X,Name,Value)'Maxclust',5, чтобы найти максимум пяти кластеров.
Если 'Linkage' является 'centroid' или 'median', то linkage может произвести кластерное дерево, которое не является монотонным. Этот результат происходит, когда расстояние от объединения двух кластеров, r и s, к третьему кластеру является меньше, чем расстояние между r и s. В этом случае, в древовидной схеме, чертившей с ориентацией по умолчанию, путь от листа до корневого узла делает некоторые нисходящие шаги. Чтобы избежать этого результата, задайте другое значение для 'Linkage'. Следующее изображение показывает немонотонное кластерное дерево.

В этом случае к кластеру 1 и кластеру 3 соединяют в новый кластер, в то время как расстояние между этим новым кластером и кластером 2 является меньше, чем расстояние между кластером 1 и кластером 3.
Если вы задаете значение c для входного параметра cutoff, то выполняет следующие шаги:T = clusterdata(X,c)
Создайте вектор Евклидова расстояния между парами наблюдений в X при помощи pdist.
Y = pdist(X,'euclidean')
Создайте агломерационное иерархическое кластерное дерево из Y при помощи linkage с методом 'single' для вычисления кратчайшего расстояния между кластерами.
Z = linkage(Y,'single')
Если 0 < c < 2, используйте cluster, чтобы задать кластеры от Z, когда противоречивые значения будут меньше, чем c.
T = cluster(Z,'Cutoff',c)
Если c является целочисленным значением ≥ 2, используйте cluster, чтобы найти максимум кластеров c от Z.
T = cluster(Z,'MaxClust',c)
Если у вас есть иерархический кластерный древовидный Z (вывод функции linkage для матрицы входных данных X), можно использовать cluster, чтобы выполнить агломерационную кластеризацию на Z и возвратить кластерное присвоение для каждого наблюдения (строка) в X.
cluster | dendrogram | inconsistent | kmeans | linkage | pdist