Zweidimensionale Matrix clustern

Neue Frage »

philip1 Auf diesen Beitrag antworten »
Zweidimensionale Matrix clustern
Hallo Leute,

ich komme hier nicht weiter und möchte deshalb euch um Rat fragen. Es geht um folgendes:
Ich habe eine große Matrix gegeben, mit Einträgen 0 und 1, irgendwie verteilt. Die Problemstellung ist, diese Matrix neu zu verteilen, durch Spalten- und Zeilenvertauschung eine neue Struktur zu erhalten, die möglichst "kompakt" ist, sodass Cluster entstehen. Ganz einfaches Beispiel:

101
100
101

--->

110
110
100

Ich finde die ganze Zeit leider nur Informationen über Clusteranalyse, weiß aber nicht so recht, wie ich damit umgehen soll.
Klar kann ich mit diesen k-Means- oder Fuzzy c-Means-Algorithmen cluster identifizieren, aber wie arbeite ich dann weiter?

Habt ihr Ideen oder Schlüsselwörter, nachdenen ich mich umsehen kann? Oder Internetseiten, die ich mal durchforsten sollte?

Wäre super nett! Vielen Dank,

Philip
WebFritzi Auf diesen Beitrag antworten »

Leider ist die Problemstellung mathematisch gesehen wertlos, da das Ziel nicht exakt beschrieben ist.

Bevor man ein Problem lösen will, muss man festlegen, was genau eine Lösung ist. Das ist hier nicht gegeben.
kiste Auf diesen Beitrag antworten »

Nehme doch einen der Clusteralgorithmen und lass sich mal durchlaufen. Die Wahl der Norm ist natürlich extrem wichtig. Du kannst ja einmal der Einfachheit halber erst mal mit der 2-Norm anfangen und schauen ob das Ergebnis gut ist.
Als Clusteralgorithmus würde ich agglomeratives Clustern, beispielsweise Complete-Linkage versuchen
philip1 Auf diesen Beitrag antworten »

Hi!

Vielen Dank erstmal euch beiden.

WebFritzi: Leider wurde mir diese Aufgabe auch nur so undeutlich gestellt. Es geht halt darum eine riesige Matrix möglichst gut zu clustern. Ich weiß, das ist mathematisch nicht besonders wertvoll.

Im Groben geht es halt darum, Zeilen und Spalten so zu vertauschen, dass möglichst gute Cluster entstehen in dem Sinne, dass die Einsen möglichst nah beieinander liegen.

kiste: Das habe ich bereits getan, meine Matrix ist dann schön farbig und zeigt mir die bestehenden Cluster an. Ich möchte nun aber Zeilen und Spalten so vertauschen, dass die Cluster noch besser sind! Es geht halt um eine Umstrukturierung.
Hast du da noch eine Idee?

Danke nochmals für eure Hilfe! Beste Grüße,


Philip
kiste Auf diesen Beitrag antworten »

Mhh, die Idee war es jetzt wo die Clusterzugehörigkeit der Vektoren klar ist diese so zu vertauschen dass Vektorem im selben Cluster zusammenstehen, was hast du denn gemacht?
philip1 Auf diesen Beitrag antworten »

Achso, ich habe jetzt nur die Einträge mit k-means geclustert.

Du meinst also, ich sollte nur die Spalten analysieren, und dann diese vertauschen?
Und danach könnte man wahrscheinlich das gleiche nochmal mit den Zeilen tun.

Aber mein Algorithmus ordnet in Cluster ein, berechnet dann die jeweiligen Mittelpunkte der Cluster und fängt dann wieder von vorne an (wobei die ersten Mittelpunkte zufällig gewählt sind und dann die Punkte mit den geringsten Abständen zum jeweiligen Mittelpunkt zugehörig gemacht werden).
Mir ist nicht klar, wie ich das auf die Spaltenvektoren übertragen könnte.

Wär super, wenn du mir noch einen Tipp diesbezühlich geben könntest.

Besten Dank,

Philip
 
 
kiste Auf diesen Beitrag antworten »

Wenn du unbedingt k-means benutzen willst:
Wähle k beliebige Spaltenvektoren als Mittelpunkte. Dann den Algo einfach durchlaufen lassen wobei eben die Datenpunkte die Spaltenvektoren sind
philip1 Auf diesen Beitrag antworten »

Zitat:
Original von kiste
Wenn du unbedingt k-means benutzen willst:


Hallo Kiste!
Ich möchte k-means benutzen, weil ich letzten Dienstag das erste Mal in Berührung mit Visual Basic gekommen bin, und ich da deshalb noch nicht so ohne weiteres komplexe Programme schreiben kann.

Sobald das mit k-means halbwegs funktioniert werde ich dann mal Complete-Linkage versuchen :-)

Ich werde mich jetzt mal ransetzen! Ich schreibe dann mal, wie es funktioniert hat :-)

Beste Grüße und Dank!
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »