|
Darwin
1.10(beta)
|
Implements a mult-class boosted decision-tree classifier. See Zhu et al., Multi-class AdaBoost, 2006. More...
Public Member Functions | |
| drwnBoostedClassifier () | |
| default constructor | |
| drwnBoostedClassifier (unsigned n, unsigned k=2) | |
construct a classifer with n features and k classes | |
| drwnBoostedClassifier (const drwnBoostedClassifier &c) | |
| copy constructor | |
| virtual const char * | type () const |
| returns object type as a string (e.g., Foo::type() { return "Foo"; }) | |
| virtual drwnBoostedClassifier * | clone () const |
| returns a copy of the class usually implemented as virtual Foo* clone() { return new Foo(*this); } | |
| virtual void | initialize (unsigned n, unsigned k=2) |
initialize the classifier object for n features and k classes | |
| virtual bool | save (drwnXMLNode &node) const |
| write object to XML node (see also write) | |
| virtual bool | load (drwnXMLNode &node) |
| read object from XML node (see also read) | |
| virtual double | train (const drwnClassifierDataset &dataset) |
| train the parameters of the classifier from a drwnClassifierDataset object | |
| void | pruneRounds (unsigned numRounds) |
Truncates the boosted classifier to numRounds. This allows for fast cross-validation of the number of rounds since the classifier can be trained and then the number of rounds pealed back. | |
| virtual void | getClassScores (const vector< double > &features, vector< double > &outputScores) const |
| compute the unnormalized log-probability for a single feature vector | |
Public Member Functions inherited from drwnClassifier | |
| drwnClassifier () | |
| default constructor | |
| drwnClassifier (unsigned n, unsigned k=2) | |
construct a classifer with n features and k classes | |
| drwnClassifier (const drwnClassifier &c) | |
| copy constructor | |
| int | numFeatures () const |
| returns the number of features expected by the classifier object | |
| int | numClasses () const |
| returns the number of classes predicted by the classifier object | |
| virtual bool | valid () const |
| returns true if the classifier is valid (has been initialized and trained) | |
| virtual double | train (const vector< vector< double > > &features, const vector< int > &targets) |
| train the parameters of the classifier from a set of features and corresponding labels | |
| virtual double | train (const vector< vector< double > > &features, const vector< int > &targets, const vector< double > &weights) |
| train the parameters of the classifier from a weighted set of features and corresponding labels | |
| virtual double | train (const char *filename) |
train the parameters of the classifier from data stored in filename | |
| virtual void | getClassScores (const vector< vector< double > > &features, vector< vector< double > > &outputScores) const |
| compute the unnormalized log-probability for a set of feature vectors | |
| virtual void | getClassMarginals (const vector< double > &features, vector< double > &outputMarginals) const |
| compute the class marginal probabilities for a single feature vector | |
| virtual void | getClassMarginals (const vector< vector< double > > &features, vector< vector< double > > &outputMarginals) const |
| compute the class marginal probabilities for a set of feature vectors | |
| virtual int | getClassification (const vector< double > &features) const |
| return the most likely class label for a single feature vector | |
| virtual void | getClassifications (const vector< vector< double > > &features, vector< int > &outputLabels) const |
| compute the most likely class labels for a set of feature vector | |
Public Member Functions inherited from drwnWriteable | |
| bool | write (const char *filename) const |
| write object to file (calls save) | |
| bool | read (const char *filename) |
| read object from file (calls load) | |
| void | dump () const |
| print object's current state to standard output (for debugging) | |
Public Member Functions inherited from drwnProperties | |
| unsigned | numProperties () const |
| bool | hasProperty (const string &name) const |
| bool | hasProperty (const char *name) const |
| unsigned | findProperty (const string &name) const |
| unsigned | findProperty (const char *name) const |
| void | setProperty (unsigned indx, bool value) |
| void | setProperty (unsigned indx, int value) |
| void | setProperty (unsigned indx, double value) |
| void | setProperty (unsigned indx, const string &value) |
| void | setProperty (unsigned indx, const char *value) |
| void | setProperty (unsigned indx, const Eigen::VectorXd &value) |
| void | setProperty (unsigned indx, const Eigen::MatrixXd &value) |
| void | setProperty (const char *name, bool value) |
| void | setProperty (const char *name, int value) |
| void | setProperty (const char *name, double value) |
| void | setProperty (const char *name, const string &value) |
| void | setProperty (const char *name, const char *value) |
| void | setProperty (const char *name, const Eigen::VectorXd &value) |
| void | setProperty (const char *name, const Eigen::MatrixXd &value) |
| string | getPropertyAsString (unsigned indx) const |
| drwnPropertyType | getPropertyType (unsigned indx) const |
| bool | isReadOnly (unsigned indx) const |
| const drwnPropertyInterface * | getProperty (unsigned indx) const |
| const drwnPropertyInterface * | getProperty (const char *name) const |
| bool | getBoolProperty (unsigned indx) const |
| int | getIntProperty (unsigned indx) const |
| double | getDoubleProperty (unsigned indx) const |
| const string & | getStringProperty (unsigned indx) const |
| const list< string > & | getListProperty (unsigned indx) const |
| int | getSelectionProperty (unsigned indx) const |
| const Eigen::VectorXd & | getVectorProperty (unsigned indx) const |
| const Eigen::MatrixXd & | getMatrixProperty (unsigned indx) const |
| const string & | getPropertyName (unsigned indx) const |
| vector< string > | getPropertyNames () const |
| void | readProperties (drwnXMLNode &xml, const char *tag="property") |
| void | writeProperties (drwnXMLNode &xml, const char *tag="property") const |
| void | printProperties (ostream &os) const |
Static Public Attributes | |
| static drwnBoostingMethod | METHOD = DRWN_BOOST_DISCRETE |
| controls the re-weighting of data samples at the end of each training iteration | |
| static int | NUM_ROUNDS = 100 |
| maximum number of boosting rounds | |
| static int | MAX_DEPTH = 2 |
| maximum depth of each decision tree | |
| static double | SHRINKAGE = 0.95 |
| boosting shrinkage | |
Protected Attributes | |
| drwnBoostingMethod | _method |
| boosting method | |
| int | _numRounds |
| number of rounds of boosting | |
| int | _maxDepth |
| maximum depth of each decision tree | |
| double | _shrinkage |
| boosting shrinkage | |
| vector< drwnDecisionTree * > | _weakLearners |
| weak learners | |
| vector< double > | _alphas |
| weight for each weak learner | |
Protected Attributes inherited from drwnClassifier | |
| int | _nFeatures |
| number of features | |
| int | _nClasses |
| number of classes | |
| bool | _bValid |
| true if the classifier has been trained or loaded | |
Additional Inherited Members | |
Protected Member Functions inherited from drwnProperties | |
| void | declareProperty (const string &name, drwnPropertyInterface *optif) |
| void | undeclareProperty (const string &name) |
| void | exposeProperties (drwnProperties *opts, const string &prefix=string(""), bool bSerializable=false) |
| virtual void | propertyChanged (const string &name) |
Implements a mult-class boosted decision-tree classifier. See Zhu et al., Multi-class AdaBoost, 2006.
The following code snippet shows example learning a boosted classifier on a training dataset and then testing it on a hold out evaluation dataset.
The boosted classifier has a number of parameters for controlling it's operation during training. See METHOD, NUM_ROUNDS, MAX_DEPTH and SHRINKAGE for details.
1.8.6