Построение иерархического дерева из модели иерархической кластеризации Sklearn - PullRequest
0 голосов
/ 29 октября 2018

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

Из документации, представленной в Scipy, я смог создать dendrogram. Пример:

%matplotlib inline
from scipy.cluster.hierarchy import dendrogram, linkage
from matplotlib import pyplot as plt

linked = linkage(X, 'single')

plt.figure(figsize=(10, 7)) 
dendrogram(linked,  
            orientation='top',
            distance_sort='descending',
            show_leaf_counts=True)
plt.show() 

Но я бы хотел получить доступ к данным, чтобы создать свою собственную дендрограмму. Я нашел функцию to_tree, которая форматирует дендрограмму в древовидный объект, который может быть пройден для построения структуры дендрограммы. Пример:

from scipy.cluster.hierarchy import to_tree
rootnode, nodelist = to_tree(linked, rd=True)
rootnode.left # provides the left child node
rootnode.right # provides the right child node

Проблема, с которой я сталкиваюсь, заключается в том, как создать связь между моими данными X и конечными узлами дендрограммы?

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

Я был бы очень признателен за любую помощь по этому вопросу.

Спасибо

...