Advertisement
Guest User

Untitled

a guest
Nov 30th, 2015
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.04 KB | None | 0 0
  1. load data/usps/tr.dat;
  2. load data/usps/trlabels.dat;
  3.  
  4. load data/usps/ts.dat;
  5. load data/usps/tslabels.dat;
  6.  
  7. ###########################################
  8. ##Separacion de los datos que vamos a usar#
  9. ###########################################
  10. indicesTraining = find(trlabels<=3);
  11. tr = tr(indicesTraining,:);
  12. trlabels = trlabels(indicesTraining,:);
  13.  
  14. indicesTest = find(tslabels<=3);
  15.  
  16. ts = ts(indicesTest,:);
  17. tslabels = tslabels(indicesTest,:);
  18.  
  19. ############################
  20. #Funcion prediccion binaria#
  21. ############################
  22. function[label] = binario(indices,tr,trlabels,ts,tslabels)
  23.  
  24. trvs = tr(indices,:);
  25. tlvs = trlabels(indices,:);
  26. res = svmtrain(tlvs,trvs,"-t 2 -c 0.1 -q");
  27.  
  28. label = svmpredict(tslabels,ts,res,' ');
  29.  
  30. endfunction
  31.  
  32.  
  33. label0vs1 = binario(find(trlabels <= 1),tr,trlabels,ts,tslabels);
  34. label0vs2 = binario(find(trlabels == 0 | trlabels == 2),tr,trlabels,ts,tslabels);
  35. label0vs3 = binario(find(trlabels == 0 | trlabels == 3),tr,trlabels,ts,tslabels);
  36. label1vs2 = binario(find(trlabels == 1 | trlabels == 2),tr,trlabels,ts,tslabels);
  37. label1vs3 = binario(find(trlabels == 1 | trlabels == 3),tr,trlabels,ts,tslabels);
  38. label2vs3 = binario(find(trlabels == 2 | trlabels == 3),tr,trlabels,ts,tslabels);
  39.  
  40. labels = zeros(size(tslabels),1);
  41.  
  42. for i = 1:size(tslabels)
  43. if (label0vs3(i) == 0)
  44. if (label0vs2(i) == 0)
  45. if (label0vs1(i) == 0)
  46. labels(i) = 0;
  47. else
  48. labels(i) = 1;
  49. endif
  50. else
  51. if (label1vs2(i) == 1)
  52. labels(i) = 1;
  53. else
  54. labels(i) = 2;
  55. endif
  56. endif
  57. else
  58. if (label1vs3(i) == 3)
  59. if (label2vs3(i) == 3)
  60. labels(i) = 3;
  61. else
  62. labels(i) == 2;
  63. endif
  64. else
  65. if (label1vs2(i) == 2)
  66. labels(i) = 2;
  67. else
  68. labels(i) = 1;
  69. endif
  70. endif
  71. endif
  72. endfor
  73. sum(labels == tslabels)/size(tslabels)(1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement