보통 dendrograms와 heatmaps를 할 때, 나는 거리 행렬을 사용하고 SciPy
의 묶음을합니다. 시도해보고 싶습니다 Seaborn
하지만 Seaborn
직사각형 형태로 내 데이터를 원합니다 (rows = samples, cols = attributes, distance matrix가 아닙니까)?미리 계산 된 거리 행렬을 sns.clustermap에주는 방법은 무엇입니까?
본질적으로을 백엔드로 사용하여 내 립 드로 그램을 계산하고 내 히트 맵에 붙여 넣기를 원합니다. 이것이 가능한가? 그렇지 않은 경우 향후 이것이 기능이 될 수 있습니다.
조정할 수있는 매개 변수가있을 수 있으므로 사각형 매트릭스 대신 거리 매트릭스를 사용할 수 있습니까? 여기
는 사용의 :
seaborn.clustermap¶
seaborn.clustermap(data, pivot_kws=None, method='average', metric='euclidean',
z_score=None, standard_scale=None, figsize=None, cbar_kws=None, row_cluster=True,
col_cluster=True, row_linkage=None, col_linkage=None, row_colors=None,
col_colors=None, mask=None, **kwargs)
아래
내 코드 :
from sklearn.datasets import load_iris
iris = load_iris()
X, y = iris.data, iris.target
DF = pd.DataFrame(X, index = ["iris_%d" % (i) for i in range(X.shape[0])], columns = iris.feature_names)
내 방법은 아래 올바른 생각하지 않기 때문에 나는 그것을 미리 계산을주는거야 원거리 행렬이며 직사각형 데이터 행렬이 아닙니다. 상관/거리 행렬을 clustermap
과 함께 사용하는 방법에 대한 예제는 없지만 https://stanford.edu/~mwaskom/software/seaborn/examples/network_correlations.html에 대한 것이 있지만 순서는 일반 sns.heatmap
func와 클러스터되지 않습니다.
DF_corr = DF.T.corr()
DF_dism = 1 - DF_corr
sns.clustermap(DF_dism)
나는이 질문을 이해하지 못합니다. 두 번째 행렬이 사각형이 아닌가? – mwaskom
네, 두 번째 것은 확실히 사각형이지만 b/c는 거리 매트릭스 (1- 상관)를 입력하고'sns.cluster_map'은 직사각형 데이터 매트릭스를 필요로합니다. 그래서 기본적으로 제 중복 사각형 거리 매트릭스를 가져 와서 원시 값으로 처리 한 다음 그 값에서 연결을했습니다. 그것은 수학적으로 작동합니까? 입력에 직사각형 데이터 행렬이 필요하므로 특정 단계가 반복되고 있다고 생각하지는 않습니다. –
나는 당신이 알고 싶은 것을 더 분명하게하기 위해 질문을 편집해야한다고 생각합니다. 서면에 따라 정사각형 행렬을 만드는 방법을 묻는 중이고 정사각형 행렬 인 그림을 보여줍니다. – mwaskom