[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]
VariableImportanceVisitor Class Reference |
#include <vigra/random_forest/rf_visitors.hxx>
Public Member Functions | |
template<class RF , class PR , class SM , class ST > | |
void | after_tree_ip_impl (RF &rf, PR &pr, SM &sm, ST &, int index) |
template<class Tree , class Split , class Region , class Feature_t , class Label_t > | |
void | visit_after_split (Tree &tree, Split &split, Region &, Region &, Region &, Feature_t &, Label_t &) |
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_end (RF &rf, PR &) |
Public Member Functions inherited from VisitorBase | |
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 &, IntT, TopT, Feat &) |
Public Attributes | |
MultiArray< 2, double > | variable_importance_ |
calculate variable importance while learning.
void visit_after_split | ( | Tree & | tree, |
Split & | split, | ||
Region & | , | ||
Region & | , | ||
Region & | , | ||
Feature_t & | , | ||
Label_t & | |||
) |
calculates impurity decrease based variable importance after every split.
void after_tree_ip_impl | ( | RF & | rf, |
PR & | pr, | ||
SM & | sm, | ||
ST & | , | ||
int | index | ||
) |
compute permutation based var imp. (Only an Array of size oob_sample_count x 1 is created.
void visit_after_tree | ( | RF & | rf, |
PR & | pr, | ||
SM & | sm, | ||
ST & | st, | ||
int | index | ||
) |
calculate permutation based impurity after every tree has been learned default behaviour is that this happens out of place. If you have very big data sets and want to avoid copying of data set the in_place_ flag to true.
void visit_at_end | ( | RF & | rf, |
PR & | |||
) |
Normalise variable importance after the number of trees is known.
MultiArray<2, double> variable_importance_ |
This Array has the same entries as the R - random forest variable importance. Matrix is featureCount by (classCount +2) variable_importance_(ii,jj) is the variable importance measure of the ii-th variable according to: jj = 0 - (classCount-1) classwise permutation importance jj = rowCount(variable_importance_) -2 permutation importance jj = rowCount(variable_importance_) -1 gini decrease importance.
permutation importance: The difference between the fraction of OOB samples classified correctly before and after permuting (randomizing) the ii-th column is calculated. The ii-th column is permuted rep_cnt times.
class wise permutation importance: same as permutation importance. We only look at those OOB samples whose response corresponds to class jj.
gini decrease importance: row ii corresponds to the sum of all gini decreases induced by variable ii in each node of the random forest.
© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) |
html generated using doxygen and Python
|