[ 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:
treereference to the tree that is currently being learned
splitreference to the split object
parentcurrent stack entry which was used to decide the split
leftChildleft stack entry that will be pushed
rightChildright stack entry that will be pushed.
featuresfeatures matrix
labelslabel 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:
rfreference to the random forest object that called this visitor
prreference to the preprocessor that processed the input
smreference to the sampler object
streference to the first stack entry
indexindex 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:
rfreference to the random forest object that called this visitor
prreference to the preprocessor that processed the input
void visit_at_beginning ( RF const &  rf,
PR const &  pr 
)

do something before learning starts

Parameters:
rfreference to the random forest object that called this visitor
prreference 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:
trreference to the tree object that called this visitor
indexindex in the topology_ array we currently are at
node_ttype of node we have (will be e_.... - )
weightNode 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 Aug 25 2011)