29 #ifndef GRT_WEAK_CLASSIFIER_HEADER
30 #define GRT_WEAK_CLASSIFIER_HEADER
32 #include "../../../Util/GRTCommon.h"
33 #include "../../../DataStructures/ClassificationData.h"
37 #define WEAK_CLASSIFIER_POSITIVE_CLASS_LABEL 1
38 #define WEAK_CLASSIFIER_NEGATIVE_CLASS_LABEL 2
107 virtual double predict(
const VectorDouble &x){
194 static StringWeakClassifierMap *getMap() {
196 return stringWeakClassifierMap;
200 static StringWeakClassifierMap *stringWeakClassifierMap;
201 static UINT numWeakClassifierInstances;
205 template<
typename T > WeakClassifier *newWeakClassificationModuleInstance() {
return new T; }
207 template<
typename T >
211 getMap()->insert( std::pair<
string,
WeakClassifier*(*)()>(newWeakClassificationModuleName, &newWeakClassificationModuleInstance< T > ) );
217 #endif //GRT_WEAK_CLASSIFIER_HEADER
virtual ~WeakClassifier()
virtual double getNegativeClassLabel() const
UINT numInputDimensions
The number of input dimensions to the weak classifier.
std::map< string, WeakClassifier *(*)() > StringWeakClassifierMap
virtual double predict(const VectorDouble &x)
string weakClassifierType
A string that represents the weak classifier type, e.g. DecisionStump.
virtual bool train(ClassificationData &trainingData, VectorDouble &weights)
virtual bool loadModelFromFile(fstream &file)
UINT getNumInputDimensions() const
WeakClassifier(const WeakClassifier &rhs)
WeakClassifier * createNewInstance() const
string getWeakClassifierType() const
virtual bool deepCopyFrom(const WeakClassifier *weakClassifer)
virtual void print() const
virtual double getPositiveClassLabel() const
WeakClassifier & operator=(const WeakClassifier &rhs)
bool trained
A flag to show if the weak classifier model has been trained.
bool copyBaseVariables(const WeakClassifier *weakClassifer)
virtual bool saveModelToFile(fstream &file) const
static WeakClassifier * createInstanceFromString(string const &weakClassifierType)