13from ROOT
import TMVA, TFile, TCut
14from subprocess
import call
15from os.path
import isfile
17from tensorflow.keras.models
import Sequential
18from tensorflow.keras.layers
import Dense
19from tensorflow.keras.optimizers
import SGD
25 model.add(Dense(64, activation=
'tanh', input_dim=2))
26 model.add(Dense(1, activation=
'linear'))
29 model.compile(loss=
'mean_squared_error', optimizer=SGD(
30 learning_rate=0.01), weighted_metrics=[])
33 model.save(
'modelRegression.h5')
39 with TFile.Open(
'TMVA_Regression_Keras.root',
'RECREATE')
as output,
TFile.Open(
'tmva_reg_example.root')
as data:
41 '!V:!Silent:Color:DrawProgressBar:Transformations=D,G:AnalysisType=Regression')
43 tree = data.Get(
'TreeR')
46 for branch
in tree.GetListOfBranches():
47 name = branch.GetName()
49 dataloader.AddVariable(name)
50 dataloader.AddTarget(
'fvalue')
52 dataloader.AddRegressionTree(tree, 1.0)
54 dataloader.PrepareTrainingAndTestTree(
TCut(
''),
55 'nTrain_Regression=1000:SplitMode=Random:NormMode=NumEvents:!V')
58 factory.BookMethod(dataloader, TMVA.Types.kPyKeras,
'PyKeras',
59 'H:!V:VarTransform=D,G:FilenameModel=modelRegression.h5:FilenameTrainedModel=trainedModelRegression.h5:NumEpochs=20:BatchSize=32')
60 factory.BookMethod(dataloader, TMVA.Types.kBDT,
'BDTG',
61 '!H:!V:VarTransform=D,G:NTrees=1000:BoostType=Grad:Shrinkage=0.1:UseBaggedBoost:BaggedSampleFraction=0.5:nCuts=20:MaxDepth=4')
64 factory.TrainAllMethods()
65 factory.TestAllMethods()
66 factory.EvaluateAllMethods()
69if __name__ ==
"__main__":
75 if not isfile(
'tmva_reg_example.root'):
76 call([
'curl',
'-L',
'-O',
'http://root.cern/files/tmva_reg_example.root'])
A specialized string object used for TTree selections.
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0)
Create / open a file.
This is the main MVA steering class.
static void PyInitialize()
Initialize Python interpreter.