GestureRecognitionToolkit  Version: 1.0 Revision: 04-03-15
The Gesture Recognition Toolkit (GRT) is a cross-platform, open-source, c++ machine learning library for real-time gesture recognition.
AdaBoost.h
Go to the documentation of this file.
1 
45 #ifndef GRT_ADABOOST_HEADER
46 #define GRT_ADABOOST_HEADER
47 
48 #include "../../CoreModules/Classifier.h"
49 #include "AdaBoostClassModel.h"
52 
53 namespace GRT{
54 
55 //typedef DecisionStump AdaBoostWeakClassifier;
56 
57 class AdaBoost : public Classifier
58 {
59 public:
70  AdaBoost(const WeakClassifier &weakClassifier = DecisionStump(),bool useScaling=false,bool useNullRejection=false,double nullRejectionCoeff=10.0,UINT numBoostingIterations=20,UINT predictionMethod=MAX_VALUE);
71 
77  AdaBoost(const AdaBoost &rhs);
78 
82  virtual ~AdaBoost();
83 
90  AdaBoost &operator=(const AdaBoost &rhs);
91 
99  virtual bool deepCopyFrom(const Classifier *classifier);
100 
108  virtual bool train_(ClassificationData &trainingData);
109 
117  virtual bool predict_(VectorDouble &inputVector);
118 
125  virtual bool clear();
126 
134  virtual bool saveModelToFile(fstream &file) const;
135 
143  virtual bool loadModelFromFile(fstream &file);
144 
152  virtual bool recomputeNullRejectionThresholds();
153 
161  bool setNullRejectionCoeff(double nullRejectionCoeff);
162 
170  bool setWeakClassifier(const WeakClassifier &weakClassifer);
171 
179  bool addWeakClassifier(const WeakClassifier &weakClassifer);
180 
186  bool clearWeakClassifiers();
187 
194  bool setNumBoostingIterations(UINT numBoostingIterations);
195 
202  bool setPredictionMethod(UINT predictionMethod);
203 
209  void printModel();
210 
216  vector< AdaBoostClassModel > getModels() const { return models; }
217 
218  //Tell the compiler we are using the following functions from the MLBase class to stop hidden virtual function warnings
221  using MLBase::train;
222  using MLBase::train_;
223  using MLBase::predict;
224  using MLBase::predict_;
225 
226 protected:
227  bool loadLegacyModelFromFile( fstream &file );
228 
229  UINT numBoostingIterations;
230  UINT predictionMethod;
231  vector< WeakClassifier* > weakClassifiers;
232  vector< AdaBoostClassModel > models;
233 
234  static RegisterClassifierModule< AdaBoost > registerModule;
235 
236 public:
240  enum PredictionMethods{MAX_POSITIVE_VALUE=0,MAX_VALUE};
241 };
242 
243 } //End of namespace GRT
244 
245 #endif //GRT_ADABOOST_HEADER
virtual bool recomputeNullRejectionThresholds()
Definition: AdaBoost.cpp:382
virtual bool saveModelToFile(string filename) const
Definition: MLBase.cpp:135
bool setNullRejectionCoeff(double nullRejectionCoeff)
Definition: AdaBoost.cpp:391
This file implements a container for an AdaBoost class model.
virtual bool loadModelFromFile(string filename)
Definition: MLBase.cpp:157
Definition: AdaBoost.cpp:25
void printModel()
Definition: AdaBoost.cpp:562
virtual bool train(ClassificationData trainingData)
Definition: MLBase.cpp:80
bool setWeakClassifier(const WeakClassifier &weakClassifer)
Definition: AdaBoost.cpp:514
virtual ~AdaBoost()
Definition: AdaBoost.cpp:57
bool clearWeakClassifiers()
Definition: AdaBoost.cpp:534
bool setNumBoostingIterations(UINT numBoostingIterations)
Definition: AdaBoost.cpp:546
virtual bool predict(VectorDouble inputVector)
Definition: MLBase.cpp:104
virtual bool predict_(VectorDouble &inputVector)
Definition: MLBase.cpp:106
bool addWeakClassifier(const WeakClassifier &weakClassifer)
Definition: AdaBoost.cpp:526
virtual bool predict_(VectorDouble &inputVector)
Definition: AdaBoost.cpp:293
virtual bool deepCopyFrom(const Classifier *classifier)
Definition: AdaBoost.cpp:85
virtual bool train_(ClassificationData &trainingData)
Definition: AdaBoost.cpp:116
AdaBoost & operator=(const AdaBoost &rhs)
Definition: AdaBoost.cpp:63
virtual bool clear()
Definition: AdaBoost.cpp:503
This class implements a Radial Basis Function Weak Classifier. The Radial Basis Function (RBF) class ...
virtual bool saveModelToFile(fstream &file) const
Definition: AdaBoost.cpp:401
virtual bool loadModelFromFile(fstream &file)
Definition: AdaBoost.cpp:436
This class implements a DecisionStump, which is a single node of a DecisionTree.
vector< AdaBoostClassModel > getModels() const
Definition: AdaBoost.h:216
bool setPredictionMethod(UINT predictionMethod)
Definition: AdaBoost.cpp:554
AdaBoost(const WeakClassifier &weakClassifier=DecisionStump(), bool useScaling=false, bool useNullRejection=false, double nullRejectionCoeff=10.0, UINT numBoostingIterations=20, UINT predictionMethod=MAX_VALUE)
Definition: AdaBoost.cpp:30
virtual bool train_(ClassificationData &trainingData)
Definition: MLBase.cpp:82