ROOT   Reference Guide
Searching...
No Matches
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=nullptr, Bool_t isAutomatic=kFALSE)

void SetPruneStrengthIncrement (Double_t dalpha)

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

virtual ~IPruneTool ()

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)

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

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

MsgLoggerLog () const

## Private Attributes

Double_t fDeltaPruneStrength
! the stepsize for optimizing the pruning strength parameter

MsgLoggerfLogger
message logger

Double_t fNodePurityLimit
! the purity limit for labelling a terminal node as signal

std::vector< DecisionTreeNode * > fPruneSequence
! the (optimal) prune sequence

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

Protected Attributes inherited from TMVA::IPruneTool
Double_t B

Double_t fPruneStrength
! regularization parameter in pruning

Double_t S

#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 = nullptr, 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

! the stepsize for optimizing the pruning strength parameter

Definition at line 73 of file ExpectedErrorPruneTool.h.

## ◆ fLogger

 MsgLogger* TMVA::ExpectedErrorPruneTool::fLogger
mutableprivate

message logger

Definition at line 77 of file ExpectedErrorPruneTool.h.

## ◆ fNodePurityLimit

 Double_t TMVA::ExpectedErrorPruneTool::fNodePurityLimit
private

! the purity limit for labelling a terminal node as signal

Definition at line 74 of file ExpectedErrorPruneTool.h.

## ◆ fPruneSequence

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

! the (optimal) prune sequence

Definition at line 75 of file ExpectedErrorPruneTool.h.

Libraries for TMVA::ExpectedErrorPruneTool:

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