Come posso eseguire il clustering gerarchico su una matrice di correlazione in scipy/numpy? Ho una matrice di 100 righe per 9 colonne e mi piacerebbe raggruppare gerarchicamente le correlazioni di ciascuna voce tra le 9 condizioni. Mi piacerebbe utilizzare la correlazione di 1 pearson come le distanze per il clustering. Supponendo che ho una matrice numpy "X" che contiene la matrice 100 x 9, come posso fare questo?clustering gerarchico sulle correlazioni in Python scipy/numpy?
Ho provato ad utilizzare hcluster, sulla base di questo esempio:
Y=pdist(X, 'seuclidean')
Z=linkage(Y, 'single')
dendrogram(Z, color_threshold=0)
tuttavia, pdist non è quello che voglio dato che è la distanza euclidea. Qualche idea?
grazie.
La "correlazione" indica Pearson o Spearman? Inoltre, non dovrebbe essere 1 - pearson per essere una metrica di distanza valida che può essere usata per pdist? Il pdist lo fa automaticamente? Grazie. – user248237dfsf
Sembra che sia 1 - Pearson per me. Puoi guardarlo da solo nei pacchetti del sito/scipy/spazial/distance.py –
È abbastanza raro che la "correlazione" menzionata da sola significhi correlazione di Spearman. Di solito, se è Spearman, la gente lo dirà, altrimenti assume Pearson. – dwf