Wie kann man sns.clustermap eine vorberechnete Distanzmatrix geben?

enn ich Dendrogramme und Heatmaps mache, verwende ich normalerweise eine Distanzmatrix und mache eine Reihe vonSciPy Zeug. Ich möchte @ ausprobierSeaborn aberSeaborn möchte meine Daten in rechteckiger Form (Zeilen = Stichproben, Spalten = Attribute, keine Distanzmatrix)?

Ich möchte im Wesentlichen @ verwendseaborn als Backend zur Berechnung meines Dendrogramms und zum Anheften an meine Heatmap. Ist das möglich? Wenn nicht, kann dies in Zukunft eine Funktion sein.

Kann es Parameter geben, die ich anpassen kann, damit eine Distanzmatrix anstelle einer rechteckigen Matrix verwendet werden kann?

Hier ist die Verwendung:

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)

Mein Code unten:

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)

Ich glaube nicht, dass meine Methode unten korrekt ist, da ich ihr eine vorberechnete Distanzmatrix und KEINE rechteckige Datenmatrix gebe, wie sie verlangt. Es gibt keine Beispiele für die Verwendung einer Korrelations- / Distanzmatrix mitclustermap aber es gibt fürhttps: //stanford.edu/~mwaskom/software/seaborn/examples/network_correlations.htm aber die Bestellung ist nicht geclustert w / the plainsns.heatmap func.

DF_corr = DF.T.corr()
DF_dism = 1 - DF_corr
sns.clustermap(DF_dism)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage