Силуэт участка в R, у каждого кластера своя текстура - PullRequest
0 голосов
/ 02 мая 2018

Я проводил кластерный анализ и хотел бы проверить результаты кластеризации с помощью графиков силуэтов. Извлеченный из чужого кода, функция графика строит для меня силуэт, и когда я задаю 3 цвета для своего графика, это дает мне то, что я хочу, однако, если я указываю плотность и угол одним и тем же способом, все графики меняются на в то же время. Я хотел бы дать разные кластеры с разными текстурами. Есть ли способ сделать это?

Вот код и результат (пожалуйста, игнорируйте низкое значение ширины силуэта):

dE2 <- dissE^2 #dissimilarity matrix
sw2 <- silhouette(clust.fit$clustering, dE2)
pdf("silhouette plot.pdf") 
sil_plot <- plot(sw2, col=c("#CEEAE6","#291B4F","#FCD42B"), 
                 angle = c(0,45,90), density = c(5,10,20), main = "silhouette plot")
dev.off()

Silhouette plot from my code

1 Ответ

0 голосов
/ 03 мая 2018

Проблема в том, что вы задаете три значения для angle и density - по одному для каждого кластера - но вы должны указать значение для каждой точки. Ваши три значения просто перерабатываются, поэтому они появляются повсюду на вашем участке. Вместо этого попробуйте:

sil_plot <- plot(sw2, col=c("#CEEAE6","#291B4F","#FCD42B"), 
                 angle = c(0,45,90)[clust.fit$clustering], 
                 density = c(5,10,20)[clust.fit$clustering], 
                 main = "silhouette plot")
...