2016-06-16 15 views
2

Ich verwende R Kohonen Paket für die Implementierung von SOM. Ich finde es problematisch, den aus der selbstorganisierenden Karte resultierenden Codevektor mit den ursprünglichen Datenpunkten in Beziehung zu setzen. Ich habe versucht, während des Trainings Labels ohne Gewicht einzutragen, aber das Ergebnis war unverständlich.Wie man sich auf ursprüngliche Datenpunkte in einer selbstorganisierenden Karte bezieht

Gibt es eine Möglichkeit, nach Abschluss des Trainingsprozesses auf die ursprünglichen Datenpunkte von jedem Knoten zurückzugreifen?

Antwort

1

Sie das Zentrum und skalierte Werte von

x= attr(som_model$data,"scaled:center") 

y= attr(som_model$data,"scaled:scale") 

erhalten, um Originaldaten zurück

Zuerst finden Sie den Knoten

som_model$unit.classif zurück Wining Knoten entsprechend Gesamtzahl der Beobachtungen zu erhalten.

Angenommen, Sie möchten dann zu dem n-ten Knoten bezogenen Daten, um herauszufinden,

for (i in 1:ncol(som_model$data)){ 
z[,i] = som_model$data[,i][som_model$unit.classif==n] * y[i]+x[i] 
} 

bis n-ten Knoten Entsprechende Sie Ihren ursprünglichen Wert zurückbekommen werden.

+0

ich danke Ihnen für Ihre Hilfe, gab mir einen anderen Einblick in das Som-Modell –