Как сохранить/просмотреть информацию в дендрограмме?Python

Программы на Python
Ответить
Anonymous
 Как сохранить/просмотреть информацию в дендрограмме?

Сообщение Anonymous »

Я пытаюсь проанализировать данные, чтобы определить результат на основе дендрограммы. Проблема в том, что у меня есть две группы данных «H» и «U», которые анализируются вместе. В конце дендрограммы мне нужно знать, в какой области больше букв «H» и «U».
Я пробовал использовать словарную информацию дендрограммы, но когда я открыл функции Я заметил, что он ни разу не содержит информацию, которую я ввел через ссылку.
Я использую следующий код:

Код: Выделить всё

import numpy as np
import matplotlib.pyplot as plt
from scipy.cluster.hierarchy import dendrogram, linkage, set_link_color_palette
from scipy.cluster import hierarchy
import pandas as pd
from sklearn.decomposition import PCA

df=pd.read_csv(name+".csv", index_col=None, header=0)

normalized_df=(df-df.mean())/df.std()

pca=PCA(n_components=6, n_oversamples=6)
principalComponents = pca.fit_transform(df)
principalDF = pd.DataFrame(data = principalComponents, columns = ['principal component 1', 'principal component 2', 'principal component 3', 'principal component 4', 'principal component 5', 'principal component 6'])

#Adds the type (U/H) to the dataframe
finalDF = pd.concat([principalDF, full_df[['type']]], axis = 1)

#From here on is when I start to have problems
data = list(zip(finalDF['principal component 1'], finalDF['principal component 2']))

linkage_data = linkage(data, method='ward', metric='euclidean')
hierarchy.set_link_color_palette(['r','g','b','w'])
den=dendrogram(linkage_data)
plt.title("Attempt #1")
plt.show()
Дендрограмма выглядит так, как ожидалось. Проблема в том, что я не могу различить тип (H или U) каждой точки.
Как уже упоминалось, я пытался посмотреть на свойства дендрограммы, такие как icoord и dcoord, но не смог понять. понять, что это значит.
Сами данные, которые я использую, представляют собой 6 разных столбцов с разными числами, которые я нормализую ((df-df.mean())/df. std), а затем возьмите основные компоненты.
Есть какие-нибудь советы?
Изменить: вот пример имеющихся у меня данных. :
Изображение

А вот изображение дендрограммы с использованием первых двух основных компонентов:
Изображение

Идея в этом случае состоит в том, чтобы иметь возможность различать, какие точки являются H, а какие U.
Это важно отметим, что это всего лишь пример, поскольку реальный набор данных, который я использую, содержит около 20 000 строк и в конечном итоге имеет 3 разных цвета. Я использую короткую версию данных, чтобы попробовать разные варианты кода.

Подробнее здесь: https://stackoverflow.com/questions/790 ... dendrogram
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»