optimalleaforder

Оптимальное листовое упорядоченное расположение для иерархической кластеризации

Описание

пример

leafOrder = optimalleaforder(tree,D) возвращает оптимальное листовое упорядоченное расположение для иерархического бинарного кластерного дерева, tree, с помощью расстояний, D. Оптимальное листовое упорядоченное расположение двоичного дерева максимизирует сумму общих черт между смежными листами путем зеркального отражения древовидных ветвей, не деля кластеры.

leafOrder = optimalleaforder(tree,D,Name,Value) возвращает оптимальное листовое упорядоченное расположение с помощью одного или нескольких аргументов пары "имя-значение".

Примеры

свернуть все

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

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

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

Создайте вектор расстояния и иерархическое двоичное дерево кластеризации. Используйте расстояния и кластеризацию дерева, чтобы определить оптимальный листовой порядок.

D = pdist(X);
tree = linkage(D,'average');
leafOrder = optimalleaforder(tree,D);

Постройте древовидную схему с упорядоченным расположением по умолчанию и древовидную схему с оптимальным листовым упорядоченным расположением.

figure()
subplot(2,1,1)
dendrogram(tree)
title('Default Leaf Order')

subplot(2,1,2)
dendrogram(tree,'reorder',leafOrder)
title('Optimal Leaf Order')

Порядок листов в нижней фигуре соответствует элементам в leafOrder.

leafOrder
leafOrder = 1×10

     1     4     9    10     2     5     8     3     7     6

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

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

Создайте вектор расстояния и иерархическое двоичное дерево кластеризации.

D = pdist(X);
tree = linkage(D,'average');

Используйте обратное преобразование подобия расстояния, чтобы определить оптимальный листовой порядок.

leafOrder = optimalleaforder(tree,D,'Transformation','inverse')
leafOrder = 1×10

     1     4     9    10     2     5     8     3     7     6

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

свернуть все

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

Расстояния для определения общих черт между листами в виде матрицы или вектора расстояний. Например, можно сгенерировать расстояния с помощью pdist.

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

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

Пример: 'Criteria','group','Transformation','inverse' указывает, что сумма общих черт максимизируется между каждым листом и всеми другими листами в смежных кластерах, с помощью обратного преобразования подобия.

Критерий оптимизации определения оптимального листового упорядоченного расположения в виде разделенной запятой пары, состоящей из 'criteria' и одно из этих значений:

'adjacent'Максимизируйте сумму общих черт между смежными листами.
'group'Максимизируйте сумму общих черт между каждым листом и всеми другими листами в смежных кластерах на том же уровне древовидной схемы.

Пример: 'Criteria','group'

Метод для преобразования расстояний до общих черт в виде разделенной запятой пары, состоящей из 'Transformation' и один из 'linear', 'inverse', или указатель на функцию.

Позвольте di,j, и Simi,j обозначают расстояние и подобие между листами i и j, соответственно. Включенные преобразования подобия:

'linear'Simi,j = maxi,j (di,j ) – di,j
'inverse'Sim i,j = 1/di,j

Чтобы использовать пользовательскую функцию преобразования, задайте указатель на функцию, которая принимает матрицу расстояний, D, и возвращает матрицу общих черт, S. Функция должна быть монотонным уменьшением в области значений значений расстояния. S должен иметь тот же размер как D, с S(i,j) быть подобием вычисляется на основе D(i,j).

Пример: 'Transformation',@myTransform

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

свернуть все

Оптимальный листовой порядок, возвращенный как вектор длины-M, где M является количеством листов. leafOrder сочетание векторного 1:M, предоставление оптимального листового упорядоченного расположения на основе заданных расстояний и преобразования подобия.

Ссылки

[1] Панель-Joseph, Z., Гиффорд, D.K., и Jaakkola, T.S. (2001). Быстро оптимальное листовое упорядоченное расположение для иерархической кластеризации. Биоинформатика 17, Suppl 1:S22–9. PMID: 11472989.

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

| |

Представленный в R2012b