Advertisement
Guest User

Untitled

a guest
Dec 7th, 2016
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. %clearall
  2. %xa1=randn(2,100);
  3. %xa2=randn(2,100)+2;
  4. %xa3=xa1;
  5. %xa3(2,:)=xa3(2,:)+4;
  6. %X=[xa1xa2xa3];
  7. X=[Data(:,1:2)’];
  8. %Y=[ones(1,100)2ones(1,100)3ones(1,100)];
  9. Y=Data(:,3)’;
  10. net=newsom(X,[13],’gridtop’,’linkdist’);
  11. net=train(net,X);
  12. plot(X(1,:),X(2,:),’.’);
  13. figure
  14. %plotsom(net.iw{1,1},net.layers{1}.distances);
  15. holdon
  16. d=dist(X’,net.iw{1}’);
  17. [a,b]=min(d,[],2);
  18. gscatter(X(1,:),X(2,:),b);
  19.  
  20. e=er(Y,b);
  21. [nm]=size(Data);
  22. w=zeros(2,3);
  23. x=zeros(1,3);
  24. fori=1:n
  25. if(b(i)==1)
  26. w(1,1)=w(1,1)+X(1,i);
  27. w(2,1)=w(2,1)+X(2,i);
  28. x(1)=x(1)+1;
  29. elseif(b(i)==2)
  30. w(1,2)=w(1,2)+X(1,i);
  31. w(2,2)=w(2,2)+X(2,i);
  32. x(2)=x(2)+1;
  33. elseif(b(i)==3)
  34. w(1,3)=w(1,3)+X(1,i);
  35. w(2,3)=w(2,3)+X(2,i);
  36. x(3)=x(3)+1;
  37. end
  38. end
  39. w(:,1)=w(:,1)/x(1);
  40. w(:,2)=w(:,2)/x(2);
  41. w(:,3)=w(:,3)/x(3);
  42. plot(w(1,:),w(2,:),’.’)
  43. %out=net.iw{1};
  44. %
  45. %[outinx]=sort(out,1,’ascend’);
  46. %figure
  47. %plotsom(out,net.layers{1}.distances);
  48.  
  49.  
  50. functionout=er(in1,in2)
  51. in1=in1’;
  52. [nm]=size(in1);
  53. err=zeros(n,m);
  54. fori=1:n
  55. if(in1(i)~=in2(i))
  56. err(i)=1;
  57. end
  58. end
  59. out=sum(err)/n100;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement