self-organizing map plotting help
6 views (last 30 days)
Show older comments
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 Comments
Geoff Hayes
on 16 Jan 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?
Accepted Answer
Greg Heath
on 18 Jan 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 Comments
More Answers (0)
See Also
Categories
Find more on Sequence and Numeric Feature Data Workflows in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!