Azzera filtri
Azzera filtri

self-organizing map plotting help

1 visualizzazione (ultimi 30 giorni)
mouh nyquist
mouh nyquist il 3 Gen 2015
Commentato: mouh nyquist il 27 Gen 2015
I have tried two years to plot Som map (self-organizing map);but I can't do it with matlab
this is my program (I want plot the position of the input [1 0] in the map) please help me
I have read help plotsom, doc , nothing to do this
p1=[1 1]'; p2=[1 2]'; p3=[2 -1]'; p4=[2 -2]'; p5=[-1 2]'; p6=[-2 1]'; p7=[-1 -1]'; p8=[-2 -2]';
P=[p1 p2 p3 p4 p5 p6 p7 p8];
% Create a Self-Organizing Map
dimension1 = 10;
dimension2 = 10;
net = selforgmap([dimension1 dimension2]);
% Train the Network
[net,tr] = train(net,P);
% Test the Network
outputs = net(P);
% View the Network
view(net)
%test
A=sim(net,[1 0]);
%plot Som map
axis([0 10 0 10]);
%hold on; plotting A in the Map
circles = plot(A,'ob');
  3 Commenti
Geoff Hayes
Geoff Hayes il 16 Gen 2015
Mouh - I think that you need to provide more details. What do you mean when you say that you can't do it with matlab? Are you observing errors (and if so, what are they) or are you just not getting the results that you desire?
mouh nyquist
mouh nyquist il 16 Gen 2015
thank you for your interesting to my question; I cant't do it with matlab ; I can't see the results of SOM in matlab; I can only training the SOM and I can't test the SOM ; I thing the SOM of matlab is not complet

Accedi per commentare.

Risposta accettata

Greg Heath
Greg Heath il 18 Gen 2015
>> szout = size(outputs) % [ 100 8 ]
uniqueout = unique(outputs) % [ 0 1 ]
szout =
100 8
uniqueout =
0
1
>> findones = find(outputs == 1)
findones =
7
103
221
341
405
523
611
701
These can be converted to the positions of the training data in the 10 x 10 matrix.
similarly,
>> size(net([ 1 0]))
ans =
100 2
You can calculate the position .
However, I cannot make any sense of most of the plotsom routines.
Sorry,
Greg
  5 Commenti
mouh nyquist
mouh nyquist il 19 Gen 2015
Modificato: mouh nyquist il 19 Gen 2015
thank you a lot , but when I use this; they give me two circles in the map (must have one circle in the map)
y = net([-2 2]);
%plot Som map
axis([0 10 0 10]);
%hold on; plotting A in the Map
circles = plot(y(:,1),y(:,2),'ob');
mouh nyquist
mouh nyquist il 27 Gen 2015
thank you a lot , but when I use this; they give me two circles in the map (must have one circle in the map)
y = net([-2 2]);
%plot Som map
axis([0 10 0 10]);
%hold on; plotting A in the Map
circles = plot(y(:,1),y(:,2),'ob');

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Function Approximation, Clustering, and Control in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by