27 #ifndef ROOT_TMVA_MethodDT
28 #define ROOT_TMVA_MethodDT
49 class MethodDT :
public MethodBase {
51 MethodDT(
const TString& jobName,
52 const TString& methodTitle,
54 const TString& theOption =
"");
56 MethodDT( DataSetInfo& dsi,
57 const TString& theWeightFile);
59 virtual ~MethodDT(
void );
61 virtual Bool_t HasAnalysisType( Types::EAnalysisType type, UInt_t numberClasses, UInt_t numberTargets );
65 using MethodBase::ReadWeightsFromStream;
68 void AddWeightsXMLTo(
void* parent )
const;
71 void ReadWeightsFromStream( std::istream& istr );
72 void ReadWeightsFromXML (
void* wghtnode );
75 Double_t GetMvaValue( Double_t* err = 0, Double_t* errUpper = 0 );
78 void DeclareOptions();
79 void ProcessOptions();
80 void DeclareCompatibilityOptions();
82 void GetHelpMessage()
const;
85 const Ranking* CreateRanking();
87 Double_t PruneTree( );
89 Double_t TestTreeQuality( DecisionTree *dt );
91 Double_t GetPruneStrength () {
return fPruneStrength; }
93 void SetMinNodeSize(Double_t sizeInPercent);
94 void SetMinNodeSize(TString sizeInPercent);
96 Int_t GetNNodesBeforePruning(){
return fTree->GetNNodesBeforePruning();}
97 Int_t GetNNodes(){
return fTree->GetNNodes();}
106 std::vector<Event*> fEventSample;
110 SeparationBase *fSepType;
112 Int_t fMinNodeEvents;
113 Float_t fMinNodeSize;
114 TString fMinNodeSizeS;
117 Bool_t fUseYesNoLeaf;
118 Double_t fNodePurityLimit;
122 Double_t fErrorFraction;
123 Double_t fPruneStrength;
124 DecisionTree::EPruneMethod fPruneMethod;
125 TString fPruneMethodS;
127 Bool_t fRandomisedTrees;
129 Bool_t fUsePoissonNvars;
130 std::vector<Double_t> fVariableImportance;
132 Double_t fDeltaPruneStrength;
134 static const Int_t fgDebugLevel = 0;
137 Bool_t fPruneBeforeBoost;
139 ClassDef(MethodDT,0);