1 #ifndef ROOT_TMVA_CCPruner
2 #define ROOT_TMVA_CCPruner
58 class DecisionTreeNode;
63 typedef std::vector<Event*> EventList;
65 CCPruner( DecisionTree* t_max,
66 const EventList* validationSample,
67 SeparationBase* qualityIndex = NULL );
69 CCPruner( DecisionTree* t_max,
70 const DataSet* validationSample,
71 SeparationBase* qualityIndex = NULL );
76 void SetPruneStrength( Float_t alpha = -1.0 );
81 std::vector<TMVA::DecisionTreeNode*> GetOptimalPruneSequence( )
const;
84 inline Float_t GetOptimalQualityIndex( )
const {
return (fOptimalK >= 0 && fQualityIndexList.size() > 0 ?
85 fQualityIndexList[fOptimalK] : -1.0); }
88 inline Float_t GetOptimalPruneStrength( )
const {
return (fOptimalK >= 0 && fPruneStrengthList.size() > 0 ?
89 fPruneStrengthList[fOptimalK] : -1.0); }
93 const EventList* fValidationSample;
94 const DataSet* fValidationDataSet;
95 SeparationBase* fQualityIndex;
100 std::vector<TMVA::DecisionTreeNode*> fPruneSequence;
101 std::vector<Float_t> fPruneStrengthList;
102 std::vector<Float_t> fQualityIndexList;
109 inline void TMVA::CCPruner::SetPruneStrength( Float_t alpha ) {
110 fAlpha = (alpha > 0 ? alpha : 0.0);