ROOT   Reference Guide
TMVA::ExpectedErrorPruneTool Class Reference

A helper class to prune a decision tree using the expected error (C4.5) method.

Uses an upper limit on the error made by the classification done by each node. If the $$\frac{S}{S+B}$$ of the node is $$f$$, then according to the training sample, the error rate (fraction of misclassified events by this node) is $$(1-f)$$. Now $$f$$ has a statistical error according to the binomial distribution hence the error on $$f$$ can be estimated (same error as the binomial error for efficiency calculations $$(\sigma = \sqrt{\frac{(eff(1-eff)}{nEvts}})$$

This tool prunes branches from a tree if the expected error of a node is less than that of the sum of the error in its descendants.

Definition at line 54 of file ExpectedErrorPruneTool.h.

Public Member Functions

ExpectedErrorPruneTool ()

virtual ~ExpectedErrorPruneTool ()

virtual PruningInfoCalculatePruningInfo (DecisionTree *dt, const IPruneTool::EventSample *testEvents=NULL, Bool_t isAutomatic=kFALSE)

void SetPruneStrengthIncrement (Double_t dalpha)

Public Member Functions inherited from TMVA::IPruneTool
IPruneTool ()

virtual ~IPruneTool ()

virtual PruningInfoCalculatePruningInfo (DecisionTree *dt, const EventSample *testEvents=NULL, Bool_t isAutomatic=kFALSE)=0

Double_t GetPruneStrength () const

Bool_t IsAutomatic () const

void SetAutomatic ()

void SetPruneStrength (Double_t alpha)

Private Member Functions

Int_t CountNodes (DecisionTreeNode *node, Int_t icount=0)

void FindListOfNodes (DecisionTreeNode *node)
recursive pruning of nodes using the Expected Error Pruning (EEP) More...

Double_t GetNodeError (DecisionTreeNode *node) const
Calculate an UPPER limit on the error made by the classification done by this node. More...

Double_t GetSubTreeError (DecisionTreeNode *node) const
calculate the expected statistical error on the subtree below "node" which is used in the expected error pruning More...

MsgLoggerLog () const

Private Attributes

Double_t fDeltaPruneStrength

MsgLoggerfLogger
the (optimal) prune sequence More...

Double_t fNodePurityLimit
the stepsize for optimizing the pruning strength parameter More...

std::vector< DecisionTreeNode * > fPruneSequence
the purity limit for labelling a terminal node as signal More...

Public Types inherited from TMVA::IPruneTool
typedef std::vector< const Event * > EventSample

Protected Attributes inherited from TMVA::IPruneTool
Double_t B

Double_t fPruneStrength

Double_t S
regularization parameter in pruning More...

#include <TMVA/ExpectedErrorPruneTool.h>

Inheritance diagram for TMVA::ExpectedErrorPruneTool:
[legend]

◆ ExpectedErrorPruneTool()

 TMVA::ExpectedErrorPruneTool::ExpectedErrorPruneTool ( )

Definition at line 62 of file ExpectedErrorPruneTool.cxx.

◆ ~ExpectedErrorPruneTool()

 TMVA::ExpectedErrorPruneTool::~ExpectedErrorPruneTool ( )
virtual

Definition at line 71 of file ExpectedErrorPruneTool.cxx.

◆ CalculatePruningInfo()

 TMVA::PruningInfo * TMVA::ExpectedErrorPruneTool::CalculatePruningInfo ( DecisionTree * dt, const IPruneTool::EventSample * testEvents = NULL, Bool_t isAutomatic = kFALSE )
virtual

Implements TMVA::IPruneTool.

Definition at line 79 of file ExpectedErrorPruneTool.cxx.

◆ CountNodes()

 Int_t TMVA::ExpectedErrorPruneTool::CountNodes ( DecisionTreeNode * node, Int_t icount = 0 )
inlineprivate

Definition at line 81 of file ExpectedErrorPruneTool.h.

◆ FindListOfNodes()

 void TMVA::ExpectedErrorPruneTool::FindListOfNodes ( DecisionTreeNode * node )
private

recursive pruning of nodes using the Expected Error Pruning (EEP)

Definition at line 175 of file ExpectedErrorPruneTool.cxx.

◆ GetNodeError()

 Double_t TMVA::ExpectedErrorPruneTool::GetNodeError ( DecisionTreeNode * node ) const
private

Calculate an UPPER limit on the error made by the classification done by this node.

If the S/S+B of the node is f, then according to the training sample, the error rate (fraction of misclassified events by this node) is (1-f) Now f has a statistical error according to the binomial distribution hence the error on f can be estimated (same error as the binomial error for efficiency calculations $$(\sigma = \sqrt{\frac{(eff(1-eff)}{nEvts}})$$

Definition at line 219 of file ExpectedErrorPruneTool.cxx.

◆ GetSubTreeError()

 Double_t TMVA::ExpectedErrorPruneTool::GetSubTreeError ( DecisionTreeNode * node ) const
private

calculate the expected statistical error on the subtree below "node" which is used in the expected error pruning

Definition at line 193 of file ExpectedErrorPruneTool.cxx.

◆ Log()

 MsgLogger & TMVA::ExpectedErrorPruneTool::Log ( ) const
inlineprivate

Definition at line 78 of file ExpectedErrorPruneTool.h.

◆ SetPruneStrengthIncrement()

 void TMVA::ExpectedErrorPruneTool::SetPruneStrengthIncrement ( Double_t dalpha )
inline

Definition at line 65 of file ExpectedErrorPruneTool.h.

◆ fDeltaPruneStrength

 Double_t TMVA::ExpectedErrorPruneTool::fDeltaPruneStrength
private

Definition at line 73 of file ExpectedErrorPruneTool.h.

◆ fLogger

 MsgLogger* TMVA::ExpectedErrorPruneTool::fLogger
mutableprivate

the (optimal) prune sequence

Definition at line 77 of file ExpectedErrorPruneTool.h.

◆ fNodePurityLimit

 Double_t TMVA::ExpectedErrorPruneTool::fNodePurityLimit
private

the stepsize for optimizing the pruning strength parameter

Definition at line 74 of file ExpectedErrorPruneTool.h.

◆ fPruneSequence

 std::vector TMVA::ExpectedErrorPruneTool::fPruneSequence
private

the purity limit for labelling a terminal node as signal

Definition at line 75 of file ExpectedErrorPruneTool.h.

Libraries for TMVA::ExpectedErrorPruneTool:
[legend]

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