This tutorial shows how to apply a trained model to new data (regression).
from ROOT import TMVA, TFile, TString
from array import array
from subprocess import call
from os.path import isfile
if not isfile('tmva_reg_example.root'):
call(['curl', '-O', 'http://root.cern.ch/files/tmva_reg_example.root'])
tree = data.Get('TreeR')
branches = {}
for branch in tree.GetListOfBranches():
branchName = branch.GetName()
branches[branchName] = array('f', [-999])
tree.SetBranchAddress(branchName, branches[branchName])
if branchName != 'fvalue':
reader.AddVariable(branchName, branches[branchName])
reader.BookMVA(
'PyKeras',
TString(
'dataset/weights/TMVARegression_PyKeras.weights.xml'))
print('Some example regressions:')
for i in range(20):
tree.GetEntry(i)
print('True/MVA value: {}/{}'.format(branches['fvalue'][0],reader.EvaluateMVA('PyKeras')))
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseGeneralPurpose, Int_t netopt=0)
Create / open a file.
static void PyInitialize()
Initialize Python interpreter.
The Reader class serves to use the MVAs in a specific analysis context.
- Date
- 2017
- Author
- TMVA Team
Definition in file ApplicationRegressionKeras.py.