svcinfo.m
上传用户:xfjled
上传日期:2007-05-06
资源大小:150k
文件大小:1k
源码类别:

matlab例程

开发平台:

Matlab

  1. function svcinfo(trn,tst,ker,alpha,bias)
  2. %SVCINFO Support Vector Classification Results
  3. %
  4. %  Usage: svcinfo(trn,tst,ker,alpha,bias)
  5. %
  6. %  Parameters: trn    - Training set
  7. %              tst    - Test set
  8. %              ker    - kernel function
  9. %              alpha  - Lagrange Multipliers
  10. %              bias   - Bias term 
  11. %
  12. %  Author: Steve Gunn (srg@ecs.soton.ac.uk)
  13.   if (nargin ~= 5) % check correct number of arguments
  14.     help svcinfo
  15.   else
  16.     [ data no_inputs no_outputs] = readdata(trn);
  17.     trnX = data(:,1:no_inputs);
  18.     trnY = data(:,no_inputs+1);
  19.     trnX = svdatanorm(trnX,ker);
  20.     [ data no_inputs no_outputs] = readdata(tst);
  21.     tstX = data(:,1:no_inputs);
  22.     tstY = data(:,no_inputs+1);
  23.     tstX = svdatanorm(tstX,ker);
  24.     epsilon = 1e-10;  
  25.     n = length(trnY);
  26.     m = length(tstY);
  27.     correct = 0;
  28.     for j = 1 : m
  29.       z = bias;
  30.       for i = 1 : n
  31.         if (abs(alpha(i)) > epsilon)
  32.           z = z + trnY(i)*alpha(i)*svkernel(ker,tstX(j,:),trnX(i,:));
  33.         end
  34.       end
  35.       z
  36.       if (sign(z) == tstY(j))
  37.           correct = correct + 1;
  38.       end
  39.       fprintf('Class : %d Predicted: %dn',tstY(j),sign(z));
  40.     end
  41.    
  42.     fprintf('Classification: %d/%dn',correct,m); 
  43.   end