Logo ROOT  
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#include "TString.h"
10#include <vector>
11#include <map>
12
13#include "TMultiGraph.h"
14
15#include "TMVA/IMethod.h"
16#include "TMVA/Configurable.h"
17#include "TMVA/Types.h"
18#include "TMVA/DataSet.h"
19#include "TMVA/Event.h"
20#include <TMVA/Results.h>
21
22#include <TMVA/Factory.h>
23
24#include <TMVA/DataLoader.h>
25
26#include <TMVA/Envelope.h>
27
28namespace TMVA {
29
31 {
33 private:
35 std::vector<Float_t> fROCs;
36 std::vector<Double_t> fSigs;
37 std::vector<Double_t> fSeps;
38 std::vector<Double_t> fEff01s;
39 std::vector<Double_t> fEff10s;
40 std::vector<Double_t> fEff30s;
41 std::vector<Double_t> fEffAreas;
42 std::vector<Double_t> fTrainEff01s;
43 std::vector<Double_t> fTrainEff10s;
44 std::vector<Double_t> fTrainEff30s;
45 std::shared_ptr<TMultiGraph> fROCCurves;
47
48 public:
51
52 std::vector<std::map<TString,Double_t> > fFoldParameters;
53
54 std::vector<Float_t> GetROCValues(){return fROCs;}
57
58 void Print() const ;
59// TCanvas* Draw(const TString name="HyperParameterOptimisation") const;
60
61 std::vector<Double_t> GetSigValues(){return fSigs;}
62 std::vector<Double_t> GetSepValues(){return fSeps;}
63 std::vector<Double_t> GetEff01Values(){return fEff01s;}
64 std::vector<Double_t> GetEff10Values(){return fEff10s;}
65 std::vector<Double_t> GetEff30Values(){return fEff30s;}
66 std::vector<Double_t> GetEffAreaValues(){return fEffAreas;}
67 std::vector<Double_t> GetTrainEff01Values(){return fTrainEff01s;}
68 std::vector<Double_t> GetTrainEff10Values(){return fTrainEff10s;}
69 std::vector<Double_t> GetTrainEff30Values(){return fTrainEff30s;}
70
71 };
72
74 public:
75
78
79 void SetFitter(TString fitType){fFitType=fitType;}
81
82
83 //Figure of Merit (FOM) default Separation
84 void SetFOMType(TString ftype){fFomType=ftype;}
86
87 void SetNumFolds(UInt_t folds);
89
90 virtual void Evaluate();
92
93
94 private:
100 std::unique_ptr<Factory> fClassifier; ///<!
101
102 public:
104 };
105}
106
107
108#endif
109
110
111
bool Bool_t
Definition: RtypesCore.h:63
unsigned int UInt_t
Definition: RtypesCore.h:46
float Float_t
Definition: RtypesCore.h:57
const Bool_t kTRUE
Definition: RtypesCore.h:100
#define ClassDef(name, id)
Definition: Rtypes.h:335
Abstract base class for all high level ml algorithms, you can book ml methods like BDT,...
Definition: Envelope.h:44
TMultiGraph * GetROCCurves(Bool_t fLegend=kTRUE)
std::vector< std::map< TString, Double_t > > fFoldParameters
virtual void Evaluate()
Virtual method to be implemented with your algorithm.
HyperParameterOptimisation(DataLoader *dataloader)
const HyperParameterOptimisationResult & GetResults() const
HyperParameterOptimisationResult fResults
!
A TMultiGraph is a collection of TGraph (or derived) objects.
Definition: TMultiGraph.h:34
Basic string class.
Definition: TString.h:136
create variable transformations