Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.63 KB | None | 0 0
  1. function out = knn_e(orig,in,k)
  2. s=size(orig,2)-1;
  3. orig2=orig(:,1:s);orig3=orig(:,s+1);
  4. out=in;
  5. if size(in,2)==size(orig2,2);
  6.     for i=1:size(in,1)
  7.         d=zeros(size(orig2,1));
  8.         for j=1:size(orig2,1);
  9.             d(j)=sqrt(sum((orig2(j,:)-in(i,:)).^2));
  10.         end
  11.         e=sort(d);e=unique(e(1:k));r=[];
  12.         for q=1:length(e)
  13.             for p=1:length(find(d==e(q)));
  14.                 t=find(d==e(q));T=t(p);
  15.                 r=[r orig3(T)];
  16.             end
  17.         end
  18.         [M,F]=mode(r);
  19.         if F==0.5*length(r);
  20.             out(i,s+1)=2.5;
  21.         else out(i,s+1)=M;
  22.         end
  23.     end
  24. end
  25. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement