From a2c685c4c1fc5c72eacb7821bf84913c1ee3979a Mon Sep 17 00:00:00 2001 From: Eckhard von Toerne <evt@physik.uni-bonn.de> Date: Thu, 2 Dec 2010 15:53:36 +0000 Subject: [PATCH] copying recent macro work from dev to trunk git-svn-id: http://root.cern.ch/svn/root/trunk@37191 27541ba8-7e3a-0410-8455-c3a389f83636 --- tmva/test/TMVARegression.C | 2 +- tmva/test/TMVARegression.cxx | 2 +- tmva/test/mvaeffs.C | 49 ++++++++++++++++++------------------ 3 files changed, 26 insertions(+), 27 deletions(-) diff --git a/tmva/test/TMVARegression.C b/tmva/test/TMVARegression.C index 0f6f7eac4c3..1fd343e58be 100644 --- a/tmva/test/TMVARegression.C +++ b/tmva/test/TMVARegression.C @@ -255,7 +255,7 @@ void TMVARegression( TString myMethodList = "" ) if (Use["BDTG"]) factory->BookMethod( TMVA::Types::kBDT, "BDTG", - "!H:!V:NTrees=1000::BoostType=Grad:Shrinkage=0.3:!UseBaggedGrad:SeparationType=GiniIndex:nCuts=20:NNodesMax=10" ); + "!H:!V:NTrees=2000::BoostType=Grad:Shrinkage=0.1:UseBaggedGrad:GradBaggingFraction=0.1:SeparationType=RegressionVariance:nCuts=20:MaxDepth=3:NNodesMax=15" ); // -------------------------------------------------------------------------------------------------- // ---- Now you can tell the factory to train, test, and evaluate the MVAs diff --git a/tmva/test/TMVARegression.cxx b/tmva/test/TMVARegression.cxx index 84774350364..ec389afbf24 100644 --- a/tmva/test/TMVARegression.cxx +++ b/tmva/test/TMVARegression.cxx @@ -250,7 +250,7 @@ int main( int argc, char** argv ) if (Use["BDTG"]) factory->BookMethod( TMVA::Types::kBDT, "BDTG", - "!H:!V:NTrees=1000::BoostType=Grad:Shrinkage=0.3:!UseBaggedGrad:SeparationType=GiniIndex:nCuts=20:NNodesMax=10" ); + "!H:!V:NTrees=2000::BoostType=Grad:Shrinkage=0.1:UseBaggedGrad:GradBaggingFraction=0.1:SeparationType=RegressionVariance:nCuts=20:MaxDepth=3:NNodesMax=15" ); // -------------------------------------------------------------------------------------------------- // ---- Now you can tell the factory to train, test, and evaluate the MVAs diff --git a/tmva/test/mvaeffs.C b/tmva/test/mvaeffs.C index edd581f1e10..b1493178d4a 100644 --- a/tmva/test/mvaeffs.C +++ b/tmva/test/mvaeffs.C @@ -131,7 +131,7 @@ class StatDialogMVAEffs { RQ_OBJECT("StatDialogMVAEffs") -public: + public: StatDialogMVAEffs(const TGWindow* p, Float_t ns, Float_t nb); virtual ~StatDialogMVAEffs(); @@ -376,26 +376,26 @@ void StatDialogMVAEffs::ReadHistograms(TFile* file) TIter keyIt(mDir->GetListOfKeys()); TKey *titkey; while((titkey = (TKey*)keyIt())) { - if( ! gROOT->GetClass(titkey->GetClassName())->InheritsFrom("TDirectory") ) continue; + if( ! gROOT->GetClass(titkey->GetClassName())->InheritsFrom("TDirectory") ) continue; - MethodInfo* info = new MethodInfo(); - TDirectory* titDir = (TDirectory *)titkey->ReadObj(); + MethodInfo* info = new MethodInfo(); + TDirectory* titDir = (TDirectory *)titkey->ReadObj(); - TMVAGlob::GetMethodName(info->methodName,key); - TMVAGlob::GetMethodTitle(info->methodTitle,titDir); - if (info->methodTitle.Length() > maxLenTitle) maxLenTitle = info->methodTitle.Length(); - TString hname = "MVA_" + info->methodTitle; + TMVAGlob::GetMethodName(info->methodName,key); + TMVAGlob::GetMethodTitle(info->methodTitle,titDir); + if (info->methodTitle.Length() > maxLenTitle) maxLenTitle = info->methodTitle.Length(); + TString hname = "MVA_" + info->methodTitle; - cout << "--- Classifier: " << info->methodTitle << endl; + cout << "--- Classifier: " << info->methodTitle << endl; - info->sig = dynamic_cast<TH1*>(titDir->Get( hname + "_S" )); - info->bgd = dynamic_cast<TH1*>(titDir->Get( hname + "_B" )); - info->origSigE = dynamic_cast<TH1*>(titDir->Get( hname + "_effS" )); - info->origBgdE = dynamic_cast<TH1*>(titDir->Get( hname + "_effB" )); - if (info->origSigE==0 || info->origBgdE==0) { delete info; continue; } - - info->SetResultHists(); - fInfoList->Add(info); + info->sig = dynamic_cast<TH1*>(titDir->Get( hname + "_S" )); + info->bgd = dynamic_cast<TH1*>(titDir->Get( hname + "_B" )); + info->origSigE = dynamic_cast<TH1*>(titDir->Get( hname + "_effS" )); + info->origBgdE = dynamic_cast<TH1*>(titDir->Get( hname + "_effB" )); + if (info->origSigE==0 || info->origBgdE==0) { delete info; continue; } + + info->SetResultHists(); + fInfoList->Add(info); } } return; @@ -433,11 +433,11 @@ void StatDialogMVAEffs::DrawHistograms() // and the signal purity and quality info->effpurS->SetTitle("Cut efficiencies and optimal cut value"); - if (info->methodTitle.Contains("Cuts")){ - info->effpurS->GetXaxis()->SetTitle( "Signal Efficiency" ); + if (info->methodTitle.Contains("Cuts")) { + info->effpurS->GetXaxis()->SetTitle( "Signal Efficiency" ); } else { - info->effpurS->GetXaxis()->SetTitle( info->methodTitle + " output" ); + info->effpurS->GetXaxis()->SetTitle( TString("Cut value applied on ") + info->methodTitle + " output" ); } info->effpurS->GetYaxis()->SetTitle( "Efficiency (Purity)" ); TMVAGlob::SetFrameStyle( info->effpurS ); @@ -494,12 +494,12 @@ void StatDialogMVAEffs::DrawHistograms() info->line1 = tl.DrawLatex( 0.15, 0.23, Form("For %1.0f signal and %1.0f background", fNSignal, fNBackground)); tl.DrawLatex( 0.15, 0.19, "events the maximum S / #sqrt{S+B} is"); info->line2 = tl.DrawLatex( 0.15, 0.15, Form("%3.4f when cutting at %3.4f", - info->maxSignificance, - info->sSig->GetXaxis()->GetBinCenter(maxbin)) ); + info->maxSignificance, + info->sSig->GetXaxis()->GetBinCenter(maxbin)) ); // add comment for Method cuts if (info->methodTitle.Contains("Cuts")){ - tl.DrawLatex( 0.13, 0.77, "Method Cuts provides a bundle of cut selections, each tuned to a"); - tl.DrawLatex(0.13, 0.74, "different signal efficiency. Shown is the purity for each cut selection."); + tl.DrawLatex( 0.13, 0.77, "Method Cuts provides a bundle of cut selections, each tuned to a"); + tl.DrawLatex(0.13, 0.74, "different signal efficiency. Shown is the purity for each cut selection."); } // save canvas to file c->Update(); @@ -534,7 +534,6 @@ void StatDialogMVAEffs::PrintResults( const MethodInfo* info ) info->line1->SetText( 0.15, 0.23, Form("For %1.0f signal and %1.0f background", fNSignal, fNBackground)); if (info->line2 !=0 ) { - Int_t maxbin = info->sSig->GetMaximumBin(); info->line2->SetText( 0.15, 0.15, Form("%3.4f when cutting at %3.4f", info->maxSignificance, info->sSig->GetXaxis()->GetBinCenter(maxbin)) ); } -- GitLab