[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]

Public Member Functions

VisitorBase Class Reference

#include <vigra/random_forest/rf_visitors.hxx>

Inheritance diagram for VisitorBase:
OnlineLearnVisitor OOB_Visitor StopVisiting VariableImportanceVisitor

List of all members.

Public Member Functions

double return_val ()
template<class Tree , class Split , class Region , class Feature_t , class Label_t >
void visit_after_split (Tree &tree, Split &split, Region &parent, Region &leftChild, Region &rightChild, Feature_t &features, Label_t &labels)
template<class RF , class PR , class SM , class ST >
void visit_after_tree (RF &rf, PR &pr, SM &sm, ST &st, int index)
template<class RF , class PR >
void visit_at_beginning (RF const &rf, PR const &pr)
template<class RF , class PR >
void visit_at_end (RF const &rf, PR const &pr)
template<class TR , class IntT , class TopT , class Feat >
void visit_external_node (TR &tr, IntT index, TopT node_t, Feat &features)
template<class TR , class IntT , class TopT , class Feat >
void visit_internal_node (TR &tr, IntT index, TopT node_t, Feat &features)

Detailed Description

Base Class from which all Visitors derive


Member Function Documentation

void visit_after_split ( Tree &  tree,
Split &  split,
Region &  parent,
Region &  leftChild,
Region &  rightChild,
Feature_t &  features,
Label_t &  labels 
)

do something after the the Split has decided how to process the Region (Stack entry)

Parameters:
tree reference to the tree that is currently being learned
split reference to the split object
parent current stack entry which was used to decide the split
leftChild left stack entry that will be pushed
rightChild right stack entry that will be pushed.
features features matrix
labels label matrix
See also:
RF_Traits::StackEntry_t

Reimplemented in OnlineLearnVisitor, and VariableImportanceVisitor.

void visit_after_tree ( RF &  rf,
PR &  pr,
SM &  sm,
ST &  st,
int  index 
)

do something after each tree has been learned

Parameters:
rf reference to the random forest object that called this visitor
pr reference to the preprocessor that processed the input
sm reference to the sampler object
st reference to the first stack entry
index index of current tree

Reimplemented in OnlineLearnVisitor, OOB_Visitor, and VariableImportanceVisitor.

void visit_at_end ( RF const &  rf,
PR const &  pr 
)

do something after all trees have been learned

Parameters:
rf reference to the random forest object that called this visitor
pr reference to the preprocessor that processed the input
void visit_at_beginning ( RF const &  rf,
PR const &  pr 
)

do something before learning starts

Parameters:
rf reference to the random forest object that called this visitor
pr reference to the Processor class used.
void visit_external_node ( TR &  tr,
IntT  index,
TopT  node_t,
Feat &  features 
)

do some thing while traversing tree after it has been learned (external nodes)

Parameters:
tr reference to the tree object that called this visitor
index index in the topology_ array we currently are at
node_t type of node we have (will be e_.... - )
weight Node weight of current node.
See also:
NodeTags;

you can create the node by using a switch on node_tag and using the corresponding Node objects. Or - if you do not care about the type use the Nodebase class.

void visit_internal_node ( TR &  tr,
IntT  index,
TopT  node_t,
Feat &  features 
)

do something when visiting a internal node after it has been learned

See also:
visit_external_node

Reimplemented in OnlineLearnVisitor.

double return_val (  ) 

return a double value. The value of the first visitor encountered that has a return value is returned with the RandomForest::learn() method - or -1.0 if no return value visitor existed. This functionality basically only exists so that the OOB - visitor can return the oob error rate like in the old version of the random forest.

Reimplemented in StopVisiting, and OOB_Visitor.


The documentation for this class was generated from the following file:

© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de)
Heidelberg Collaboratory for Image Processing, University of Heidelberg, Germany

html generated using doxygen and Python
vigra 1.7.0 (Thu Sep 16 2010)