Я хочу визуализировать, насколько хорошо работает алгоритм кластеризации (с определенной метрикой расстояния). У меня есть образцы и соответствующие им классы. Чтобы визуализировать, я группирую и хочу раскрасить ветви дендрограммы элементами в кластере. Цвет будет соответствовать цвету, которому соответствует большинство элементов в иерархическом кластере (задается данными\классами).
Пример: если мой алгоритм кластеризации выбрал индексы 1,21,24 как определенный кластер (на определенном уровне), и у меня есть CSV-файл, содержащий номер класса в каждой строке, соответствующий, скажем, 1,2,1. Я хочу, чтобы этот край был окрашен 1.
Пример кода:
require(cluster)
suppressPackageStartupMessages(library(dendextend))
dir <- 'distance_metrics/'
filename <- 'aligned.csv'
my.data <- read.csv(paste(dir, filename, sep=""), header = T, row.names = 1)
my.dist <- as.dist(my.data)
real.clusters <-read.csv("clusters", header = T, row.names = 1)
clustered <- diana(my.dist)
# dend <- colour_branches(???dend, max(real.clusters)???)
plot(dend)
РЕДАКТИРОВАТЬ: еще один пример частичного кода
dir <- 'distance_metrics/' # csv in here contains a symmetric matrix
clust.dir <- "clusters/" #csv in here contains a column vector with classes
my.data <- read.csv(paste(dir, filename, sep=""), header = T, row.names = 1)
filename <- 'table.csv'
my.dist <- as.dist(my.data)
real.clusters <-read.csv(paste(clust.dir, filename, sep=""), header = T, row.names = 1)
clustered <- diana(my.dist)
dnd <- as.dendrogram(clustered)
color_branches
. Пожалуйста, смотрите мой ответ. - person Tal Galili   schedule 02.08.2017