Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
tmva102_Testing.py
Go to the documentation of this file.
1## \file
2## \ingroup tutorial_tmva
3## \notebook -nodraw
4## This tutorial illustrates how you can test a trained BDT model using the fast
5## tree inference engine offered by TMVA and external tools such as scikit-learn.
6##
7## \macro_code
8## \macro_output
9##
10## \date August 2019
11## \author Stefan Wunsch
12
13import ROOT
14import pickle
15
16from tmva100_DataPreparation import variables
17from tmva101_Training import load_data
18
19
20# Load data
21x, y_true, w = load_data("test_signal.root", "test_background.root")
22
23# Load trained model
24File = "tmva101.root"
25if (ROOT.gSystem.AccessPathName(File)) :
26 ROOT.Info("tmva102_Testing.py", File+"does not exist")
27 exit()
28
29bdt = ROOT.TMVA.Experimental.RBDT("myBDT", File)
30
31# Make prediction
32y_pred = bdt.Compute(x)
33
34# Compute ROC using sklearn
35from sklearn.metrics import roc_curve, auc
36false_positive_rate, true_positive_rate, _ = roc_curve(y_true, y_pred, sample_weight=w)
37score = auc(false_positive_rate, true_positive_rate)
38
39# Plot ROC
40c = ROOT.TCanvas("roc", "", 600, 600)
41g = ROOT.TGraph(len(false_positive_rate), false_positive_rate, true_positive_rate)
42g.SetTitle("AUC = {:.2f}".format(score))
43g.SetLineWidth(3)
44g.SetLineColor(ROOT.kRed)
45g.Draw("AC")
46g.GetXaxis().SetRangeUser(0, 1)
47g.GetYaxis().SetRangeUser(0, 1)
48g.GetXaxis().SetTitle("False-positive rate")
49g.GetYaxis().SetTitle("True-positive rate")
50c.Draw()
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t UChar_t len
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t format