www.pudn.com > maldicode.zip > objf_svm_ACOkfold.m


% ======================================================================================== 
function err = objf_svm2_kfold(agent_theta,y) 
 
  agent = agent_theta; 
  [n,m] = size(agent); 
  [nv,ns] = size(y.sample_tr); 
 
  data = [y.sample_tr]'; 
  groups = [y.label_tr]'; 
  k=4; % k-fold 
%  cp = classperf(groups); 
%  kfun = 'linear'; 
  indices = crossvalind('Kfold',groups,k); 
  for i=1:m 
    vindex = agent(:,i); 
         
        sum =0; 
        for j =1:k 
 %           cp = classperf(groups); 
            test = (indices == j); 
            train = ~test; 
 
%vindex 
            [AlphaY,SVs,Bias,Parameters,nSV,nLabel] = LinearSVC(data(train,vindex)',groups(train)',2); 
            [ClassRate,DV,Ns,ConfMatrix,PreLabels] = SVMTest(data(test,vindex)',groups(test)',AlphaY,SVs,Bias,Parameters,nSV,nLabel); 
            sum = sum + ClassRate;      
%              
        end 
       err(i) = 100*(1-(sum/k)); 
%      err(i) = 100*sum/k; 
  end 
%   err = err'; 
return 
% ========================================================================================