VCOneVsAll.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /**
  2. * @file VCOneVsAll.h
  3. * @brief one-vs.-all svm voting
  4. * @author Erik Rodner
  5. * @date 10/25/2007
  6. */
  7. #ifndef VCOneVsAllINCLUDE
  8. #define VCOneVsAllINCLUDE
  9. #include "core/vector/VectorT.h"
  10. #include "core/vector/MatrixT.h"
  11. #include "core/image/ImageT.h"
  12. #include "core/imagedisplay/ImageDisplay.h"
  13. #include "vislearning/classifier/classifierbase/VecClassifier.h"
  14. #include "core/basics/triplet.h"
  15. namespace OBJREC {
  16. /** one-vs.-all svm voting */
  17. class VCOneVsAll : public VecClassifier
  18. {
  19. protected:
  20. std::vector< std::pair<int, VecClassifier *> > classifiers;
  21. const VecClassifier *prototype;
  22. public:
  23. /** simple constructor */
  24. VCOneVsAll( const NICE::Config *conf, const VecClassifier *prototype );
  25. VCOneVsAll( const VCOneVsAll &vcova );
  26. /** simple destructor */
  27. virtual ~VCOneVsAll();
  28. /** classify using simple vector */
  29. ClassificationResult classify ( const NICE::Vector & x ) const;
  30. /** classify using a simple vector */
  31. void teach ( const LabeledSetVector & teachSet );
  32. void finishTeaching();
  33. void clear () {};
  34. void store ( std::ostream & os, int format = 0 ) const {};
  35. void restore ( std::istream & is, int format = 0 ) {};
  36. virtual VecClassifier *clone(void) const;
  37. };
  38. } // namespace
  39. #endif