¿Cómo puedo ejecutar una agrupación jerárquica en una matriz de correlación en scipy/numpy? Tengo una matriz de 100 filas por 9 columnas, y me gustaría agrupar jerárquicamente por correlaciones de cada entrada en las 9 condiciones. Me gustaría utilizar la correlación 1-pearson como las distancias para la agrupación. Asumiendo que tengo un numpy array "X" que contiene la matriz de 100 x 9, ¿cómo puedo hacer esto?agrupación jerárquica en correlaciones en Python scipy/numpy?
He intentado utilizar hcluster, en base a este ejemplo: Sin embargo
Y=pdist(X, 'seuclidean')
Z=linkage(Y, 'single')
dendrogram(Z, color_threshold=0)
, pdist no es lo que quiero ya que es la distancia euclídea. ¿Algunas ideas?
gracias.
¿La "correlación" aquí significa Pearson o Spearman? Además, ¿no debería ser 1 - pearson para ser una medida de distancia válida que pueda usarse para pdist? ¿Pdist hace eso automáticamente? Gracias. – user248237dfsf
Parece que es 1 - Pearson para mí. Puede verlo usted mismo en site-packages/scipy/spatial/distance.py –
. Es bastante raro que la "correlación" mencionada solo signifique la correlación de Spearman. Por lo general, si es Spearman, la gente lo dirá, de lo contrario asume Pearson. – dwf