Neuanordnen von Matrixelementen, um Spalten- und Zeilencluster in Naiive Python widerzuspiegeln

Ich suche nach einer Möglichkeit, das Clustering separat für Matrixzeilen und dann für deren Spalten durchzuführen. Ordne die Daten in der Matrix neu an, um das Clustering widerzuspiegeln und alles zusammenzufügen. Das Clustering - Problem ist leicht zu lösen, ebenso wie die Dendrogrammerstellung (zum Beispiel indieser Blog oder in"Programmieren kollektiver Intelligenz"). Wie die Daten nachbestellt werden, ist mir jedoch noch unklar.

Schließlich suche ich nach einer Möglichkeit, mit naivem Python (mit jeder "Standard" -Bibliothek wie numpy, matplotlib usw., aber ohne) Diagramme zu erstellen, die der folgenden ähnelnmit R oder andere externe Werkzeuge).

Dendogramm http://www2.warwick.ac.uk/fac/sci/moac/currentstudents/peter_cock/r/heatmap/no_scaling.png

Klarstellungen

Ich wurde gefragt, was ich mit Nachbestellen meine. Wenn Sie Daten in einer Matrix zuerst nach Matrixzeilen und dann nach ihren Spalten gruppieren, kann jede Matrixzelle durch die Position in den beiden Dendrogrammen identifiziert werden. Wenn Sie die Zeilen und Spalten der ursprünglichen Matrix so neu anordnen, dass die Elemente, die in den Dendrogrammen nahe beieinander liegen, in der Matrix nahe beieinander liegen, und dann eine Heatmap generieren, wird die Clusterbildung der Daten möglicherweise für den Betrachter offensichtlich (wie in der Abbildung oben)

Antworten auf die Frage(3)

Ihre Antwort auf die Frage