2014-11-07 4 views
0

Я сделал иерархическую кластеризацию, используя scipy, и следующая моя дендрограмма. Теперь мне нужно получить ярлыки листьев с определенным цветом. Например: мне нужно найти ярлыки для красного, синего, зеленого и т. Д. Любая помощь по этому поводу?Получить метки данных с тем же цветом в scipy dendrogram

B = dendrogram(linkage_matrix, 
       color_threshold=250, 
       labels=df.session.tolist(), 
       distance_sort='ascending') 

enter image description here

ответ

-2

B, или все, что возвращается функцией дендрограмма, представляет собой словарь со следующими ключами:

print B.keys() 
['ivl', 'dcoord', 'leaves', 'color_list', 'icoord'] 

'color_list' будет выглядеть примерно так:

print B['color_list'] 
['g', 'g', 'b', 'r', 'r', 'r', 'r', 'b'] 

И «ivl» будет выглядеть так:

print B['ivl'] 
['4', '1', '5', '6', '3', '2', '7', '0'] 

Это только остается сделать список понимание:

myInd = [i for i, c in zip(B['ivl'], B['color_list']) if c=='g'] 
print myInd 
['4', '1'] 
1

Я просто должен был решить ту же самую проблему, но выше ответ не является правильным. Цвета от color_list не соответствуют цветам листьев, но для цветов ссылок - pi-образные структуры, соединяющие кластеры. Color_list и ivl даже не должны быть одинаковой длины.

Здесь вы можете найти способ, чтобы получить ярлыки листьев: http://nxn.se/post/90198924975/extract-cluster-elements-by-color-in-python