Verfasst am: 28.03.2012, 11:38
Titel: Wie Cluster erstellen
Hallo,
ich hab eine Matrix A vorliegen , wenn ich die Punkte aus der Matrix An plotte, erhalte ich mehrere Partikelschwärme die sich an unterschiedlichen Orten anhäufen (siehe Anhang).
Wie kann ich erreichen, dass ich die Punkte, die alle beieinander liegen, einer Gruppe zurodnen kann=
hab von sowas keine ahnung. vieleicht giebts schon ne lösung im file exchange oder in einer bildbearbeituns toolbox. meine idee wäre ein ansatz mit hist über die x und y komponenten. in so einer punktwolke häufen sich ja die y werte. vieleicht kann man aus den maxima der hist funktione dann die orte der woken ablesen. die zuordnung zu den wolken wäre dann nur noch an welchen werten die koordinaten am dichtesten liegen. vieleicht könnten man auch für jeden punkti die abstände zu den anderen berechen und danach sortieren.
Die ungeraden Zeilen entsprechen den x-Werten und ei drunterliegenden Werte den y-Werten.
... und woher soll der kmeans-Befehl das nun wissen? Du musst dich bei den Befehlen schon nach dem Format richten, dass sie erwarten, und nicht umgekehrt
Warum arbeitest du mit deinen Daten eigentlich nicht immer so wie mit B in diesem Fall? Das ist doch viel naheliegender? Mal ganz davon abgesehen, dass du die Daten so direkt in viele MATLAB-Befehle stecken kannst.
Übrigens: standardmäßig wählt kmeans die centers (siehe doc) zufällig, d.h. es kommt bei jedem Durchlauf etwas leicht anderes heraus. Um das zu vermeiden, solltest du die centers selbst wählen.
Grüße,
Harald
felix
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 30.03.2012, 09:49
Titel:
Hallo,
ich hab mir das doc durchgelesen. Ich sehe aber keine Möglichkeit augezeigt, wie ich meine centers selber vorgeben kann.
Müsste es so nicht eigentlich funktionieren.
Die Matrix K beinhaltet die Koordinaten der cluster-centers.
Mit sumD würde ich gern den mittleren Abstand innerhalb eines Clusters berechnen.
Ich bekomme die Fehlermeldung
Code:
Warning: Ignoring rows of X with missing data.
> In kmeans at 128
In kurzertest_BIDX at 2 Error using kmeans/batchUpdate (line376)
Empty cluster created at iteration 1.
Error in kmeans (line280)
converged = batchUpdate();
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.