11 if __name__ ==
"__main__":
12 training_data = basf2_mva.vector(
"train.root")
13 test_data = basf2_mva.vector(
"test.root")
16 general_options = basf2_mva.GeneralOptions()
17 general_options.m_datafiles = training_data
18 general_options.m_treename =
"tree"
19 general_options.m_identifier =
"test.xml"
20 general_options.m_variables = basf2_mva.vector(
'p',
'pz',
'daughter(0, kaonID)',
'chiProb',
'M')
21 general_options.m_target_variable =
"isSignal"
23 fastbdt_options = basf2_mva.FastBDTOptions()
24 basf2_mva.teacher(general_options, fastbdt_options)
28 nTrees, depth = hyperparameters
30 options = basf2_mva.FastBDTOptions()
31 options.m_nTrees = nTrees
32 options.m_nLevels = depth
33 m = method.train_teacher(training_data, general_options.m_treename, specific_options=options)
34 p, t = m.apply_expert(test_data, general_options.m_treename)
37 p = multiprocessing.Pool(
None, maxtasksperchild=1)
38 results = p.map(grid_search, itertools.product([10, 50, 100, 500, 1000], [2, 4, 6]))
39 for hyperparameters, auc
in results:
40 print(
"Hyperparameters", hyperparameters,
"AUC", auc)