16 from basf2
import find_file
20 import matplotlib.pyplot
as plt
24 """Returns the figure of merit for the optimization.
25 The functions trains the classifier with the given hyperparameters on the training sample and
26 calculates the AUC on the independent test sample.
28 g_options = general_options
29 g_options.m_identifier =
"test.xml"
30 options = basf2_mva.FastBDTOptions()
31 options.m_nTrees = int(x[0])
32 options.m_nLevels = int(x[1])
33 basf2_mva.teacher(g_options, options)
35 p, t = m.apply_expert(test_data, general_options.m_treename)
39 if __name__ ==
"__main__":
41 train_file = find_file(
"mva/train_D0toKpipi.root",
"examples")
42 test_file = find_file(
"mva/test_D0toKpipi.root",
"examples")
44 training_data = basf2_mva.vector(train_file)
45 test_data = basf2_mva.vector(test_file)
47 general_options = basf2_mva.GeneralOptions()
48 general_options.m_datafiles = training_data
49 general_options.m_treename =
"tree"
50 general_options.m_variables = basf2_mva.vector(
'p',
'pz',
'daughter(0, kaonID)',
'chiProb',
'M')
51 general_options.m_target_variable =
"isSignal"
54 res = skopt.gp_minimize(f,
61 skopt.plots.plot_convergence(res)
62 plt.savefig(
'convergence.png')
63 skopt.plots.plot_evaluations(res)
64 plt.savefig(
'evaluations.png')
65 skopt.plots.plot_objective(res)
66 plt.savefig(
'objective.png')
69 skopt.dump(res,
'opt-result.pkl')
def calculate_auc_efficiency_vs_background_retention(p, t, w=None)