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)