From 50d0a2a63864429a7c94f03d3feb624876110c8d Mon Sep 17 00:00:00 2001 From: Nikolai Hartmann <Nikolai.Hartmann@physik.uni-muenchen.de> Date: Tue, 5 Jun 2018 16:09:28 +0200 Subject: [PATCH] Fixing error bars in score plot --- toolkit.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/toolkit.py b/toolkit.py index fa96e41..d84d0c1 100755 --- a/toolkit.py +++ b/toolkit.py @@ -762,6 +762,7 @@ class ClassificationProject(object): @staticmethod def get_bin_centered_hist(x, scale_factor=None, **np_kwargs): + "Return bin centers, histogram and relative (!) errors" hist, bins = np.histogram(x, **np_kwargs) centers = (bins[:-1] + bins[1:]) / 2 if "weights" in np_kwargs: @@ -859,8 +860,10 @@ class ClassificationProject(object): plot_opts = dict(bins=50, range=(0, 1)) centers_sig_train, hist_sig_train, _ = self.get_bin_centered_hist(self.scores_train[self.y_train==1].reshape(-1), density=True, weights=self.w_train[self.y_train==1], **plot_opts) centers_bkg_train, hist_bkg_train, _ = self.get_bin_centered_hist(self.scores_train[self.y_train==0].reshape(-1), density=True, weights=self.w_train[self.y_train==0], **plot_opts) - centers_sig_test, hist_sig_test, errors_sig_test = self.get_bin_centered_hist(self.scores_test[self.y_test==1].reshape(-1), density=True, weights=self.w_test[self.y_test==1], **plot_opts) - centers_bkg_test, hist_bkg_test, errors_bkg_test = self.get_bin_centered_hist(self.scores_test[self.y_test==0].reshape(-1), density=True, weights=self.w_test[self.y_test==0], **plot_opts) + centers_sig_test, hist_sig_test, rel_errors_sig_test = self.get_bin_centered_hist(self.scores_test[self.y_test==1].reshape(-1), density=True, weights=self.w_test[self.y_test==1], **plot_opts) + centers_bkg_test, hist_bkg_test, rel_errors_bkg_test = self.get_bin_centered_hist(self.scores_test[self.y_test==0].reshape(-1), density=True, weights=self.w_test[self.y_test==0], **plot_opts) + errors_sig_test = hist_sig_test*rel_errors_sig_test + errors_bkg_test = hist_bkg_test*rel_errors_bkg_test fig, ax = plt.subplots() width = centers_sig_train[1]-centers_sig_train[0] ax.bar(centers_bkg_train, hist_bkg_train, color="b", alpha=0.5, width=width, label="background train") -- GitLab