plot1dExampleClassification.m 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. myData = [ 0.2; 0.8];
  2. % create l1-normalized 'histograms'
  3. myData = cat(2,myData , 1-myData)';
  4. myLabels = [1,2];
  5. % init new GPHIKClassifier object
  6. myGPHIKClassifier = GPHIKClassifier ( 'verbose', 'false', ...
  7. 'optimization_method', 'none', 'varianceApproximation', 'approximate_fine',...
  8. 'nrOfEigenvaluesToConsiderForVarApprox',2,...
  9. 'uncertaintyPredictionForClassification', true ...
  10. );
  11. % run train method
  12. myGPHIKClassifier.train( myData, myLabels );
  13. myDataTest = 0:0.01:1;
  14. % create l1-normalized 'histograms'
  15. myDataTest = cat(1, myDataTest, 1-myDataTest)';
  16. scores = zeros(size(myDataTest,1),1);
  17. uncertainties = zeros(size(myDataTest,1),1);
  18. for i=1:size(myDataTest,1)
  19. example = myDataTest(i,:);
  20. [ classNoEst, score, uncertainties(i)] = myGPHIKClassifier.classify( example );
  21. scores(i) = score(1);
  22. end
  23. figure;
  24. hold on;
  25. %#initialize x array
  26. x=0:0.01:1;
  27. %#create first curve
  28. uncLower=scores-uncertainties;
  29. %#create second curve
  30. uncUpper=scores+uncertainties;
  31. %#create polygon-like x values for plotting
  32. X=[x,fliplr(x)];
  33. %# concatenate y-values accordingly
  34. Y=[uncLower',fliplr(uncUpper')];
  35. %#plot filled area
  36. fill(X,Y,'y');
  37. plot ( x,scores,'rx');
  38. % clean up and delete object
  39. myGPHIKClassifier.delete();
  40. clear ( 'myGPHIKClassifier' );