⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 knn_auto.m

📁 matlab 源码 KNN classification
💻 M
字号:
function KNN_auto(afile, bfile, k)

 % -------------------------------------------------
 %  afile is for training; and bfile is for testing.
 % -------------------------------------------------
 
  
 eval(sprintf('load %s.txt; load %s.txt',afile,bfile));
 eval(sprintf('Tr_num=size(%s,1); dat_a=%s; dat_b =%s;',afile,afile, bfile));  % add training and testing data
     
 data=[dat_a; dat_b];
 [num,dim]=size(data);
 data(:,1:dim-1)=Dat_Normalize(data(:,1:dim-1),1);

 
 [Tr_num, dim] = size(dat_a);
 [Te_num, dim] = size(dat_b);
 
 tr_data=data(1:Tr_num,:);
 te_data=data(Tr_num+1:end,:);

 computed=[];
 for j=1:Te_num 
 computed = [computed knn(te_data(j,1:dim-1), tr_data(:,1:dim-1), tr_data(:,end)', k)];
 end

 tmp = te_data(:,end) - computed';
 rec = length(find(tmp == 0)) / length(tmp);    
 disp(sprintf('Testing Accuracy:%f\%',rec*100));

ctmp=dat_b(:,end);
cret=[];
for k =1:length(unique(dat_a(:,end)))
    dtmp=find(ctmp ==k);
    cret(k) = length(find(computed(dtmp)==k))/length(dtmp);
    disp(sprintf('Class %d: %4.2f \%',k, cret(k)*100));
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -