d3.js
의 상관 행렬로 그래프를 그릴 때 2D numpy 배열을 계층 적으로 클러스터링하려고합니다.히트 맵에 대해 계수의 numpy 배열을 클러스터하는 방법
내 데이터는 다음과 같습니다 : 나는 당신이 볼 수 있듯이 -1과 1 사이의 피어슨 상관 계수 이러한 계산
[[ 1. 0.091 0.147 ..., -0.239 0.113 -0.012 ]
[ 0.091 1. -0.153 ..., -0.004 -0.244 -0.00520801]
[ 0.147 -0.153 1. ..., -0.157 0.013 0.133]
...,
[-0.239 -0.004 -0.157 ..., -0.265 -0.362 1. ]]
,의 왼쪽 상단에서 대각선 아래로 1 일에 상관 관계가있다 배열을 오른쪽 하단으로. 나는이 값을 그래프 경우
, 내 상관 행렬은 다음과 같습니다 클러스터링 후
내가이 붉은 색에 postive 상관 관계 및 파란색을 나타내는 곳, 다소 유사 할 부정적인 상관 관계를 나타냅니다 : 나는 히트 맵과 같이 할 수있는 계수를 클러스터 할 수하기 matplotlib와 scipy를 사용
그러나, 값이 변경됩니다 . 내 가치가 동일하게 유지되기를 바랍니다.
I used this answer to graph the heatmap in python, but its not quite what I want since it changes my values.. 내가 필요한 것은 데이터를 클러스터링하고 csv/json 파일에 출력하는 것입니다.
from scipy.spatial.distance import pdist, squareform
from scipy.cluster.hierarchy import linkage, dendrogram
data_dist = pdist(final_correlation, 'correlation') # If I use this,
# it gives me an array that is half the size of my original correlation matrix. These are
# the distances. How do I use this to re-order my correlation matrix as a clustered matrix?
Out[1]: # The size is 9730, as opposed to the original size of 19,600
[ 0.612 0.503 1.653 ..., 0.792 1.577
0.829]
UPDATE 사람이 R
, 아마 같은 것을 보일 것이다 실행하기 위해 노력하고 코드를 알고있는 경우 this
더미 데이터가 포함 된 완전한 예제는 큰 도움이 될 것입니다. – YXD