/** * @file VCOneVsOne.h * @brief one-vs.-one svm voting * @author Erik Rodner * @date 10/25/2007 */ #ifndef VCOneVsOneINCLUDE #define VCOneVsOneINCLUDE #include "core/vector/VectorT.h" #include "core/vector/MatrixT.h" #include "vislearning/classifier/classifierbase/VecClassifier.h" #include "core/basics/triplet.h" namespace OBJREC { /** one-vs.-one svm voting */ class VCOneVsOne : public VecClassifier { protected: VecClassifier *prototype; std::vector< NICE::triplet > classifiers; bool use_weighted_voting; public: /** simple constructor */ VCOneVsOne ( const NICE::Config *conf, VecClassifier *prototype ); /** simple destructor */ virtual ~VCOneVsOne(); /** classify using simple vector */ ClassificationResult classify ( const NICE::Vector & x ) const; /** classify using a simple vector */ void teach ( const LabeledSetVector & teachSet ); void finishTeaching(); void read ( const std::string& s, int format = 0 ); void save ( const std::string& s, int format = 0 ) const; void clear () { classifiers.clear(); }; void store ( std::ostream & os, int format = 0 ) const; void restore ( std::istream & is, int format = 0 ); }; } // namespace #endif