35 : fROCAVG(0.0), fROCCurves(std::make_shared<
TMultiGraph>())
48 return fROCCurves.get();
57 MsgLogger fLogger(
"HyperParameterOptimisation");
59 for(
UInt_t j=0; j<fFoldParameters.size(); ++j) {
60 fLogger<<kHEADER<<
"===========================================================" <<
Endl;
61 fLogger<<kINFO<<
"Optimisation for " << fMethodName <<
" fold " << j+1 <<
Endl;
63 for(
auto &it : fFoldParameters.at(j)) {
64 fLogger<<kINFO<< it.first <<
" " << it.second <<
Endl;
74 fFomType(
"Separation"),
78 fClassifier(new
TMVA::
Factory(
"HyperParameterOptimisation",
"!V:!ROC:Silent:!ModelPersistence:!Color:!DrawProgressBar:AnalysisType=Classification"))
100 for (
auto &meth : fMethods) {
107 fDataLoader->MakeKFoldDataSet(split);
110 fResults.fMethodName = methodName;
112 for (
UInt_t i = 0; i < fNumFolds; ++i) {
113 TString foldTitle = methodTitle;
120 auto smethod = fClassifier->BookMethod(fDataLoader.get(), methodName, methodTitle, methodOptions);
122 auto params = smethod->OptimizeTuningParameters(fFomType, fFitType);
123 fResults.fFoldParameters.push_back(params);
127 fClassifier->DeleteAllMethods();
129 fClassifier->fMethodsMap.clear();
Abstract base class for all high level ml algorithms, you can book ml methods like BDT,...
static void SetIsTraining(Bool_t)
when this static function is called, it sets the flag whether events with negative event weight shoul...
This is the main MVA steering class.
TMultiGraph * GetROCCurves(Bool_t fLegend=kTRUE)
~HyperParameterOptimisationResult()
HyperParameterOptimisationResult()
virtual void Evaluate()
Virtual method to be implemented with your algorithm.
HyperParameterOptimisation(DataLoader *dataloader)
void SetNumFolds(UInt_t folds)
~HyperParameterOptimisation()
ostringstream derivative to redirect and format output
static void EnableOutput()
A TMultiGraph is a collection of TGraph (or derived) objects.
create variable transformations
MsgLogger & Endl(MsgLogger &ml)