Я ищу способ выполнить кластеризацию отдельно по строкам матрицы, а затем по ее столбцам, переупорядочить данные в матрице, чтобы отразить кластеризацию и собрать все вместе. Проблема кластеризации легко разрешима, как и создание дендрограммы (например, в этот блог или в " Программирование коллективного разума "). Однако мне остается неясным, как изменить порядок данных.
В конце концов, я ищу способ создания графиков, подобных приведенному ниже, с использованием наивного Python (с любой «стандартной» библиотекой, такой как numpy, matplotlib и т. Д., Но без с помощью R или других внешних инструментов).
(источник: warwick.ac.uk)
Разъяснения
Меня спросили, что я имел в виду под повторным заказом. Когда вы группируете данные в матрице сначала по строкам матрицы, а затем по ее столбцам, каждая ячейка матрицы может быть идентифицирована по положению в двух дендрограммах. Если вы измените порядок строк и столбцов исходной матрицы таким образом, чтобы элементы, которые находятся рядом друг с другом в дендрограммах, стали ближе друг к другу в матрице, а затем сгенерируете тепловую карту, кластеризация данных может стать очевидной для зрителя. (как на рисунке выше)