5 #ifndef ROOT_TMVA_HyperParameterOptimisation
6 #define ROOT_TMVA_HyperParameterOptimisation
28 class HyperParameterOptimisationResult
30 friend class HyperParameterOptimisation;
33 std::vector<Float_t> fROCs;
34 std::vector<Double_t> fSigs;
35 std::vector<Double_t> fSeps;
36 std::vector<Double_t> fEff01s;
37 std::vector<Double_t> fEff10s;
38 std::vector<Double_t> fEff30s;
39 std::vector<Double_t> fEffAreas;
40 std::vector<Double_t> fTrainEff01s;
41 std::vector<Double_t> fTrainEff10s;
42 std::vector<Double_t> fTrainEff30s;
43 std::shared_ptr<TMultiGraph> fROCCurves;
47 HyperParameterOptimisationResult();
48 ~HyperParameterOptimisationResult();
50 std::vector<std::map<TString,Double_t> > fFoldParameters;
52 std::vector<Float_t> GetROCValues(){
return fROCs;}
53 Float_t GetROCAverage(){
return fROCAVG;}
54 TMultiGraph *GetROCCurves(Bool_t fLegend=kTRUE);
59 std::vector<Double_t> GetSigValues(){
return fSigs;}
60 std::vector<Double_t> GetSepValues(){
return fSeps;}
61 std::vector<Double_t> GetEff01Values(){
return fEff01s;}
62 std::vector<Double_t> GetEff10Values(){
return fEff10s;}
63 std::vector<Double_t> GetEff30Values(){
return fEff30s;}
64 std::vector<Double_t> GetEffAreaValues(){
return fEffAreas;}
65 std::vector<Double_t> GetTrainEff01Values(){
return fTrainEff01s;}
66 std::vector<Double_t> GetTrainEff10Values(){
return fTrainEff10s;}
67 std::vector<Double_t> GetTrainEff30Values(){
return fTrainEff30s;}
71 class HyperParameterOptimisation :
public Envelope {
74 HyperParameterOptimisation(DataLoader *dataloader);
75 ~HyperParameterOptimisation();
77 void SetFitter(TString fitType){fFitType=fitType;}
78 TString GetFiiter(){
return fFitType;}
82 void SetFOMType(TString ftype){fFomType=ftype;}
83 TString GetFOMType(){
return fFitType;}
85 void SetNumFolds(UInt_t folds);
86 UInt_t GetNumFolds(){
return fNumFolds;}
88 virtual void Evaluate();
89 const HyperParameterOptimisationResult& GetResults()
const {
return fResults;}
97 HyperParameterOptimisationResult fResults;
98 std::unique_ptr<Factory> fClassifier;
101 ClassDef(HyperParameterOptimisation,0);