2017-04-18 3 views
0

(Matlab Frage)Wie gruppiert man Datenpunkte zu vordefinierten Regionen?

Ich habe eine Reihe von Datenpunkten, die ich auf vordefinierte Punkte gruppieren möchte.

Meine Datenpunkte sind eine MxN-Matrix. Jede Reihe M ist eine Kurve. Ich möchte jede Kurve einer gegebenen Menge von Kurven PxN zuordnen. Z.B. P = 5, 5 gesuchte Kurven.

Also sollte am Ende jede Kurve von MxN einer Kurve in PxN zugeordnet werden.

Am einfachsten konnte ich mit Kmeans mit 0 Iteration kommen. Die Verwendung von Korrelationen gab mir schlechte Ergebnisse. Gibt es eine einfache Methode in Matlab dazu?

Vielen Dank für Ihre Antwort. Prost Jimbo

+0

Gelöst es selbst: für WC = 1: Länge (DataSet (:, 1)) für i = 1: Länge (Zentren (:, 1)) dist (i, WC) = sum (((DataSet (WC, T) - Zentren (i, T)).^2)); Ende [temp, idx_temp] = min (dist (:, WC)) idx_dcb (WC) = idx_temp; Ende –

+0

"Clustering" bedeutet, dass der Algorithmus auf die Clusterstruktur schließen muss. Sie möchten eine Klassifizierung vornehmen: Punkte mit vordefinierten Klassen beschriften. Probieren Sie die nächstliegende Klassifizierung aus. –

Antwort

0

es gelöst mich, etwas wie das

T=1:360 
centers = rand(4,360) 
DataSet = rand(200,360) 

    for WC=1:length(DataSet(:,1)) 

     for i=1:length(centers(:,1)) 

      dist(i,WC) = sum(((DataSet(WC,T) - centers(i,T)).^2)); 
     end 
      [temp, idx_temp] = min(dist(:,WC)) 

      idx_dcb(WC) = idx_temp; 
    end 

idx_dcb ist die Indizes der zugewiesenen Gruppe.

+0

Verwenden der Kurzschlussentfernung –