21 #ifndef _ADABOOST_TRAINER_H
22 #define _ADABOOST_TRAINER_H
47 template<
class Oracle>
86 m_useMAdaBoost = mada;
94 template<
class SourceDataSetType>
95 void SetValidationSet(
const SourceDataSetType & set)
97 std::cout <<
"Update with: " << set.n_patternP <<
"(+), " << set.n_patternN <<
"(-)\n";
99 m_validation_set = set;
105 return m_validation_set;
148 template<
class Oracle>
151 std::cout << m_classifier.size() <<
" classifiers:\n";
155 template<
class Oracle>
158 std::cout << m_classifier.size() <<
" classifiers:\n";
164 template<
class Oracle>
169 for(
typename ClassifierListType::iterator i = list.begin(); i != list.end();)
174 Oracle::Optimize(*i);
180 bool valid = this->Update(*i, Oracle::GetTrainingSet(), m_validation_set);
184 std::cout <<
"Bad classifier removed from list" << std::endl;
197 template<
class Oracle>
208 double d = 1.0/m_validation_set.Size();
210 for(
unsigned int i =0; i<train.
Size(); i++)
216 std::cout <<
"[+] MAdaBoost: " << n <<
" samples of " << train.
Size() <<
" (" << (n*100)/train.
Size() <<
"%) have been limited in weight (" << d <<
")" << std::endl;
220 if(!Oracle::GetHypothesis(bestH))
225 bool valid = this->Update(bestH, Oracle::GetTrainingSet(), m_validation_set);
230 m_classifier.insert(bestH);
234 std::cout <<
"[WW] classifier skipped by update rule" << std::endl;
void ResetWeight(DataSet &list, double priori_knownledge)
Definition: WeightedPattern.h:75
ReportTest TestAndExportStat(double th, int max_concurrent_jobs)
Definition: AdaBoostTrainer.h:156
bool Test(const ClassifierType &c, const DataType &data, double threshold=0.0)
Definition: Test.h:156
a Voting Boostable classifier
const DataSetType & GetValidationSet() const
return the validation Set
Definition: AdaBoostTrainer.h:104
ClassifierType & Classifier()
Direct Access to Final Classifier.
Definition: AdaBoostTrainer.h:121
ClassifierType
Definition: Types.h:31
static std::string signature()
the internal signature of classifier (not the trainer)
Definition: AdaBoostTrainer.h:90
Definition: AdaBoostTrainer.h:48
unsigned int Size() const
Return number of allocated samples (complete size of DataSet)
Definition: DataSet.h:101
a file containing misc type
BoostClassifier< WeakClassifierType > ClassifierType
The Final Strong Classifier as Additive Model.
Definition: AdaBoostTrainer.h:61
ListType templates
a collection of Pattern used in this dataset
Definition: DataSet.h:73
void ResetValidationSet(double positive_weight=-1.0)
Definition: AdaBoostTrainer.h:111
void Restart(bool reOptimize)
Definition: AdaBoostTrainer.h:165
implement the generic pattern object
const ClassifierType & Classifier() const
Direct Access to Final Classifier.
Definition: AdaBoostTrainer.h:126
ClassifierType::ClassifierListType ClassifierListType
The internal list, inside BoostClassifier.
Definition: AdaBoostTrainer.h:64
some function to test the classifier on the set
ReportTest TestAndExportStat(const ClassifierType &c, const DataType &data, double threshold, int max_concurrent_jobs)
Definition: Test.h:265
a voting for majority classifier.
Definition: AdaBoost.h:32
Oracle::ClassifierType WeakClassifierType
Weak Classifier Type, reported by Oracle.
Definition: AdaBoostTrainer.h:58
static std::string signature()
propagate signature
Definition: BoostClassifier.h:133
DataSetHandle< AdaBoostPattern > DataSetType
DataSet required by AdaBoostTrainer.
Definition: AdaBoostTrainer.h:54
Help declaring some traits.
Definition: Aggregator.h:30
std::vector< BoostedClassifierType > ClassifierListType
List of Boosted classifier.
Definition: BoostClassifier.h:69
void EnableMAdaBoost(bool mada)
Set MAdaBoost Variant.
Definition: AdaBoostTrainer.h:84
bool Train()
Definition: AdaBoostTrainer.h:198
bool Test()
Definition: AdaBoostTrainer.h:149