From 1e44f56ce57a4c97aaad30d9ba1186546adb9cba Mon Sep 17 00:00:00 2001 From: Nikolai Hartmann <Nikolai.Hartmann@physik.uni-muenchen.de> Date: Fri, 30 Nov 2018 11:33:18 +0100 Subject: [PATCH] allow arbitrary binning for decorr dist --- toolkit.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/toolkit.py b/toolkit.py index a8fe833..b3c1146 100755 --- a/toolkit.py +++ b/toolkit.py @@ -2042,14 +2042,18 @@ class ClassificationProjectDecorr(ClassificationProject): def load(self, *args, **kwargs): super(ClassificationProjectDecorr, self).load(*args, **kwargs) - bin_frac = 1./float(self.decorr_bins) + if not isinstance(self.decorr_bins, list): + bin_frac = 1./float(self.decorr_bins) + decorr_bins = np.arange(bin_frac, 1+bin_frac, bin_frac) + else: + decorr_bins = self.decorr_bins for idx, field_name in enumerate(self.target_fields): # adversary target is fit as multiclass problem with bin indices # (self.decorr_bins quantiles) as labels like in arXiv:1703.03507 self.decorr_binnings.append( weighted_quantile( self.y_train[self.l_train==0][:,idx+1], # bkg only - np.arange(bin_frac, 1+bin_frac, bin_frac), + decorr_bins, sample_weight=self.w_train[self.l_train==0] ) ) -- GitLab