Logo ROOT   6.07/09
Reference Guide
HyperParameterOptimisation.h
Go to the documentation of this file.
1 // @(#)root/tmva $Id$
2 // Author: Omar Zapata, Thomas James Stevenson.
3 
4 
5 #ifndef ROOT_TMVA_HyperParameterOptimisation
6 #define ROOT_TMVA_HyperParameterOptimisation
7 
8 
9 #ifndef ROOT_TString
10 #include "TString.h"
11 #endif
12 
13 #ifndef ROOT_TMultiGraph
14 #include "TMultiGraph.h"
15 #endif
16 
17 #ifndef ROOT_TMVA_IMethod
18 #include "TMVA/IMethod.h"
19 #endif
20 #ifndef ROOT_TMVA_Configurable
21 #include "TMVA/Configurable.h"
22 #endif
23 #ifndef ROOT_TMVA_Types
24 #include "TMVA/Types.h"
25 #endif
26 #ifndef ROOT_TMVA_DataSet
27 #include "TMVA/DataSet.h"
28 #endif
29 #ifndef ROOT_TMVA_Event
30 #include "TMVA/Event.h"
31 #endif
32 #ifndef ROOT_TMVA_Results
33 #include<TMVA/Results.h>
34 #endif
35 
36 #ifndef ROOT_TMVA_Factory
37 #include<TMVA/Factory.h>
38 #endif
39 
40 #ifndef ROOT_TMVA_DataLoader
41 #include<TMVA/DataLoader.h>
42 #endif
43 
44 
45 namespace TMVA {
46 
48  {
50  private:
51  std::vector<Float_t> fROCs;
54 
55  std::vector<Double_t> fSigs;
56  std::vector<Double_t> fSeps;
57  std::vector<Double_t> fEff01s;
58  std::vector<Double_t> fEff10s;
59  std::vector<Double_t> fEff30s;
60  std::vector<Double_t> fEffAreas;
61  std::vector<Double_t> fTrainEff01s;
62  std::vector<Double_t> fTrainEff10s;
63  std::vector<Double_t> fTrainEff30s;
64 
65  public:
68 
69  std::vector<std::map<TString,Double_t> > fFoldParameters;
70 
71  std::vector<Float_t> GetROCValues(){return fROCs;}
74 
75  std::vector<Double_t> GetSigValues(){return fSigs;}
76  std::vector<Double_t> GetSepValues(){return fSeps;}
77  std::vector<Double_t> GetEff01Values(){return fEff01s;}
78  std::vector<Double_t> GetEff10Values(){return fEff10s;}
79  std::vector<Double_t> GetEff30Values(){return fEff30s;}
80  std::vector<Double_t> GetEffAreaValues(){return fEffAreas;}
81  std::vector<Double_t> GetTrainEff01Values(){return fTrainEff01s;}
82  std::vector<Double_t> GetTrainEff10Values(){return fTrainEff10s;}
83  std::vector<Double_t> GetTrainEff30Values(){return fTrainEff30s;}
84 
85 // ClassDef(HyperParameterOptimisationResult,0);
86  };
87 
89  public:
90 
91  //HyperParameterOptimisation();
92  HyperParameterOptimisation(DataLoader *loader,TString fomType="Separation", TString fitType="Minuit");
94 
95  HyperParameterOptimisationResult* Optimise( TString theMethodName, TString methodTitle, TString theOption = "", int NumFolds = 5);
96  //HyperParameterOptimisationResult* Optimise( Types::EMVA theMethod, TString methodTitle, TString theOption = "", int NumFolds = 5);
97 
98  inline void SetDataLoader(DataLoader *loader){fDataLoader=loader;}
99  inline DataLoader *GetDataLoader(){return fDataLoader;}
100 
101  private:
106 
107  public:
108 // ClassDef(HyperParameterOptimisation,1);
109  };
110 }
111 
112 
113 #endif
114 
115 
116 
float Float_t
Definition: RtypesCore.h:53
A TMultiGraph is a collection of TGraph (or derived) objects.
Definition: TMultiGraph.h:37
Basic string class.
Definition: TString.h:137
bool Bool_t
Definition: RtypesCore.h:59
std::vector< std::map< TString, Double_t > > fFoldParameters
Mother of all ROOT objects.
Definition: TObject.h:44
Abstract ClassifierFactory template that handles arbitrary types.
TMultiGraph * GetROCCurves(Bool_t fLegend=kTRUE)
const Bool_t kTRUE
Definition: Rtypes.h:91