Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function out = knn_e(orig,in,k)
- s=size(orig,2)-1;
- orig2=orig(:,1:s);orig3=orig(:,s+1);
- out=in;
- if size(in,2)==size(orig2,2);
- for i=1:size(in,1)
- d=zeros(size(orig2,1));
- for j=1:size(orig2,1);
- d(j)=sqrt(sum((orig2(j,:)-in(i,:)).^2));
- end
- e=sort(d);e=unique(e(1:k));r=[];
- for q=1:length(e)
- for p=1:length(find(d==e(q)));
- t=find(d==e(q));T=t(p);
- r=[r orig3(T)];
- end
- end
- [M,F]=mode(r);
- if F==0.5*length(r);
- out(i,s+1)=2.5;
- else out(i,s+1)=M;
- end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement