15 #ifndef ROOT_TMVA_MethodPyRandomForest
16 #define ROOT_TMVA_MethodPyRandomForest
32 class MethodPyRandomForest :
public PyMethodBase {
36 MethodPyRandomForest(
const TString &jobName,
37 const TString &methodTitle,
39 const TString &theOption =
"");
41 MethodPyRandomForest(DataSetInfo &dsi,
42 const TString &theWeightFile);
44 ~MethodPyRandomForest(
void);
49 void DeclareOptions();
50 void ProcessOptions();
53 const Ranking *CreateRanking();
55 Bool_t HasAnalysisType(Types::EAnalysisType type, UInt_t numberClasses, UInt_t numberTargets);
58 virtual void TestClassification();
61 Double_t GetMvaValue(Double_t *errLower = 0, Double_t *errUpper = 0);
62 std::vector<Double_t> GetMvaValues(Long64_t firstEvt = 0, Long64_t lastEvt = -1, Bool_t logProgress =
false);
63 std::vector<Float_t>& GetMulticlassValues();
65 using MethodBase::ReadWeightsFromStream;
67 virtual void AddWeightsXMLTo(
void * )
const {}
68 virtual void ReadWeightsFromXML(
void * ) {}
69 virtual void ReadWeightsFromStream(std::istream &) {}
71 void ReadModelFromFile();
74 DataSetManager *fDataSetManager;
79 std::vector<Double_t> mvaValues;
80 std::vector<Float_t> classValues;
84 TString fFilenameClassifier;
88 PyObject* pNestimators;
103 PyObject* pMinSamplesSplit;
104 Int_t fMinSamplesSplit;
107 PyObject* pMinSamplesLeaf;
108 Int_t fMinSamplesLeaf;
114 PyObject* pMinWeightFractionLeaf;
115 Double_t fMinWeightFractionLeaf;
120 PyObject* pMaxFeatures;
121 TString fMaxFeatures;
135 PyObject* pMaxLeafNodes;
136 TString fMaxLeafNodes;
142 PyObject* pBootstrap;
155 PyObject* pRandomState;
156 TString fRandomState;
165 PyObject* pWarmStart;
171 PyObject* pClassWeight;
172 TString fClassWeight;
186 void GetHelpMessage()
const;
188 ClassDef(MethodPyRandomForest, 0)
193 #endif // ROOT_TMVA_MethodPyRandomForest