9
scipy/numpy에서 상관 행렬에 대해 계층 적 클러스터링을 실행하려면 어떻게해야합니까? 나는 100 행 × 9 열의 행렬을 가지고 있으며, 9 가지 조건에 걸친 각 항목의 상관 관계를 계층 적으로 클러스터링하고 싶습니다. 클러스터링을위한 거리로 1- 피어슨 상관 관계를 사용하고 싶습니다. 100 x 9 매트릭스가 포함 된 배열이 "X"라고 가정하면 어떻게해야합니까? 파이썬에서 상관 관계에 대한 계층 적 클러스터링 scipy/numpy?
나는이 예에 따라, hcluster를 사용하여 시도 :Y=pdist(X, 'seuclidean')
Z=linkage(Y, 'single')
dendrogram(Z, color_threshold=0)
그러나, pdist 내가 그 유클리드 거리이기 때문에 원하는 것을하지 않습니다. 어떤 아이디어?
감사합니다. 첫 번째 행이되도록
여기서 '상관 관계'란 Pearson 또는 Spearman을 의미합니까? 또한 pdist에 사용할 수있는 유효한 거리 메트릭이되기 위해 1 - pearson이되어서는 안됩니까? pdist가 자동으로 그렇게합니까? 감사. – user248237dfsf
마치 1 피어슨 인 것 같습니다. 당신은 site-packages/scipy/spatial/distance.py –
에서 직접 볼 수 있습니다. Spearman 상관 관계를 의미하는 "상관 관계"는 매우 드뭅니다. 보통 스피어 만이라면 사람들은 그렇게 말할 것입니다. 그렇지 않으면 피어슨을 가정하십시오. – dwf