dendrogram

График древовидной схемы

Описание

пример

dendrogram(tree) генерирует график древовидной схемы иерархического бинарного кластерного дерева. Древовидная схема состоит из многих U - сформированные линии, которые соединяют точки данных в иерархическом дереве. Высота каждого U представляет расстояние между этими двумя соединяемыми точками данных.

  • Если существует 30 или меньше точек данных в исходном наборе данных, то каждый лист в древовидной схеме соответствует одной точке данных.

  • Если существует больше чем 30 точек данных, то dendrogram коллапсы понижают ветви так, чтобы было 30 вершин. В результате некоторые листы в графике соответствуют больше чем одной точке данных.

пример

dendrogram(tree,Name,Value) дополнительные опции использования заданы одним или несколькими аргументами пары "имя-значение".

пример

dendrogram(tree,P) генерирует график древовидной схемы без больше, чем P вершины. Если существуют больше, чем P точки данных в исходном наборе данных, затем dendrogram сворачивает более низкие ветви дерева. В результате некоторые листы в графике соответствуют больше чем одной точке данных.

dendrogram(tree,P,Name,Value) дополнительные опции использования заданы одним или несколькими аргументами пары "имя-значение".

пример

H = dendrogram(___) генерирует график древовидной схемы и возвращает вектор указателей линии. Можно использовать любой из входных параметров от предыдущих синтаксисов.

пример

[H,T,outperm] = dendrogram(___) также возвращает вектор, содержащий номер вершины для каждого объекта в исходном наборе данных, T, и вектор, дающий распоряжение меток узла листов как показано в древовидной схеме, outperm.

  • Полезно возвратить T когда количество вершин, P, меньше общего количества точек данных, так, чтобы некоторые вершины в отображении соответствовали нескольким точкам данных.

  • Распоряжение меток узла дано в outperm слева направо для горизонтальной древовидной схемы, и от нижней части до верхней части для вертикальной древовидной схемы.

Примеры

свернуть все

Сгенерируйте выборочные данные.

rng('default') % For reproducibility
X = rand(10,3);

Создайте иерархическое бинарное кластерное дерево с помощью linkage. Затем постройте древовидную схему с помощью опций по умолчанию.

tree = linkage(X,'average');

figure()
dendrogram(tree)

Сгенерируйте выборочные данные.

rng('default') % For reproducibility
X = rand(10,3);

Создайте иерархическое бинарное кластерное дерево с помощью linkage.

tree = linkage(X,'average');

D = pdist(X);
leafOrder = optimalleaforder(tree,D)
leafOrder = 1×10

     3     7     6     1     4     9     5     8    10     2

Постройте древовидную схему с помощью оптимального листового порядка.

figure()
dendrogram(tree,'Reorder',leafOrder)

Порядок вершин в графике древовидной схемы соответствует - слева направо - к сочетанию в leafOrder.

Сгенерируйте выборочные данные.

rng('default') % For reproducibility
X = rand(100,2);

Существует 100 точек данных в исходном наборе данных, X.

Создайте иерархическое бинарное кластерное дерево с помощью linkage. Затем постройте древовидную схему для полного дерева (100 вершин) путем установки входного параметра P равняйтесь 0.

tree = linkage(X,'average');
dendrogram(tree,0)

Теперь постройте древовидную схему только с 25 вершинами. Возвратите отображение исходных точек данных к вершинам, показанным в графике.

figure
[~,T] = dendrogram(tree,25);

Перечислите исходные точки данных, которые находятся в вершине 7 из графика древовидной схемы.

find(T==7)
ans = 7×1

     7
    33
    60
    70
    74
    76
    86

Сгенерируйте выборочные данные.

rng('default') % For reproducibility
X = rand(10,3);

Создайте иерархическое бинарное кластерное дерево с помощью linkage. Затем постройте древовидную схему с вертикальной ориентацией, с помощью порога цвета по умолчанию. Возвратите указатели на линии, таким образом, можно изменить ширины линии древовидной схемы.

tree = linkage(X,'average');
H = dendrogram(tree,'Orientation','left','ColorThreshold','default');
set(H,'LineWidth',2)

Входные параметры

свернуть все

Иерархическое бинарное кластерное дерево, заданное как (M – 1)-by-3 матрица, что вы генерируете использование linkage, где M является количеством точек данных в исходном наборе данных.

Максимальное количество вершин, чтобы включать в график древовидной схемы, заданный как положительное целочисленное значение.

  • Если существует P или меньше точек данных в исходном наборе данных, затем каждый лист в древовидной схеме соответствует одной точке данных.

  • Если существуют больше, чем P точки данных, затем dendrogram коллапсы понижают ветви так, чтобы был P вершины. В результате некоторые листы в графике соответствуют больше чем одной точке данных.

    Если вы не задаете P, затем dendrogram использование 30 как максимальное количество вершин. Чтобы отобразить полное дерево, установите P равняйтесь 0.

Типы данных: single | double

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Orientation','left','Reorder',myOrder задает вертикальную древовидную схему с листами в порядке, заданном myOrder.

Порядок вершин в графике древовидной схемы, заданном как разделенная запятой пара, состоящая из 'Reorder' и вектор, дающий распоряжение узлов в полном дереве. Вектор порядка должен быть сочетанием векторного 1:M, где M является количеством точек данных в исходном наборе данных. Задайте порядок слева направо для горизонтальных древовидных схем, и от нижней части до верхней части для вертикальных древовидных схем.

Если M больше количества вершин в графике древовидной схемы, P (по умолчанию, P 30), затем можно только задать вектор сочетания, который не разделяет группы листов, которые соответствуют свернутым узлам.

Типы данных: single | double

Индикатор для того, проверять ли на пересечение ветвей в графике древовидной схемы, заданном как разделенная запятой пара, состоящая из 'CheckCrossing' и любой true или false. Эта опция только полезна, когда вы задаете значение для Reorder.

Когда CheckCrossing имеет значение true, dendrogram выдает предупреждение если порядок причин вершин, пересекающих ветви в графике. Если график древовидной схемы не показывает полное дерево (потому что количество точек данных в исходном наборе данных больше P), dendrogram только выдает предупреждение, когда порядок вершин заставляет ветвь пересекаться в древовидной схеме как показано в графике. Таким образом, нет никакого предупреждения если причины порядка, пересекающие ветви в полном дереве, но не в древовидной схеме как показано в графике.

Типы данных: логический

Порог для уникальных цветов в графике древовидной схемы, заданном как разделенная запятой пара, состоящая из 'ColorThreshold' и любой 'default' или скалярное значение в области значений (0,max(tree(:,3))). Если ColorThreshold имеет значение T, затем dendrogram присваивает уникальный цвет каждой группе узлов в древовидной схеме, рычажное устройство которой меньше T.

  • Если ColorThreshold имеет значение 'default', затем порог, T, составляет 70% максимального рычажного устройства, 0.7*max(tree(:,3)).

  • Если вы не задаете значение для ColorThreshold, или если вы задаете порог вне области значений (0,max(tree(:,3))), затем dendrogram использование только один цвет для графика древовидной схемы.

Ориентация древовидной схемы в окне рисунка, заданном как разделенная запятой пара, состоящая из 'Orientation' и одно из этих значений:

'top'От начала до конца
'bottom'Нижняя часть к верхней части
'left'Слева направо
'right'Справа налево

Пометьте для каждой точки данных в исходном наборе данных, заданном как разделенная запятой пара, состоящая из 'Labels' и символьный массив, массив строк или массив ячеек из символьных векторов. dendrogram метки любые листы в графике древовидной схемы, содержащем одну точку данных с меткой той точки данных.

Выходные аргументы

свернуть все

Указатели на линии в графике древовидной схемы, возвращенном как вектор.

Числа вершины для каждой точки данных в исходном наборе данных, возвращенном как вектор-столбец длины M, где M является количеством точек данных в исходном наборе данных.

Когда существуют меньше, чем P точки данных в исходных данных (P 30, по умолчанию), все точки данных отображены в древовидной схеме с каждым узлом, содержащим одну точку данных. В этом случае, T единичная карта, T = (1:M)'.

T полезно когда P меньше общего количества точек данных. Таким образом, когда некоторые вершины в отображении древовидной схемы соответствуют нескольким точкам данных. Например, чтобы узнать, какие точки данных содержатся в вершине k из графика древовидной схемы используйте find(T==k).

Сочетание меток узла листов древовидной схемы как показано в графике, возвращенном как вектор-строка. outperm дает распоряжение слева направо горизонтальной древовидной схеме, и от нижней части до верхней части для вертикальной древовидной схемы. Если существует P листы в графике древовидной схемы, outperm сочетание векторного 1:P.

Смотрите также

| | | | | |

Представлено до R2006a