27 #ifndef ROOT_TMVA_CostComplexityPruneTool
28 #define ROOT_TMVA_CostComplexityPruneTool
61 class CostComplexityPruneTool :
public IPruneTool {
63 CostComplexityPruneTool( SeparationBase* qualityIndex = NULL );
64 virtual ~CostComplexityPruneTool( );
67 virtual PruningInfo* CalculatePruningInfo( DecisionTree* dt,
const IPruneTool::EventSample* testEvents = NULL, Bool_t isAutomatic = kFALSE );
70 SeparationBase* fQualityIndexTool;
72 std::vector<DecisionTreeNode*> fPruneSequence;
73 std::vector<Double_t> fPruneStrengthList;
74 std::vector<Double_t> fQualityIndexList;
80 void InitTreePruningMetaData( DecisionTreeNode* n );
83 void Optimize( DecisionTree* dt, Double_t weights );
85 mutable MsgLogger* fLogger;
86 MsgLogger& Log()
const {
return *fLogger; }