From a74dbdc7546956e43c8448841539e8c1ec711cc8 Mon Sep 17 00:00:00 2001 From: Nikolai Hartmann <Nikolai.Hartmann@physik.uni-muenchen.de> Date: Tue, 21 Aug 2018 14:26:00 +0200 Subject: [PATCH] fix profile average and quantile range --- scripts/plot_NN_2D.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/scripts/plot_NN_2D.py b/scripts/plot_NN_2D.py index 8a75af3..a5b65b0 100755 --- a/scripts/plot_NN_2D.py +++ b/scripts/plot_NN_2D.py @@ -62,7 +62,7 @@ layer = args.layer neuron = args.neuron if layer is None: - layer = c.layers + layer = len(c.model.layers)-1 varx_index = c.fields.index(args.varx) if not plot_vs_activation: @@ -86,8 +86,8 @@ vary_test = c.x_test[:,vary_index] x_not_masked = np.where(varx_test != mask_value)[0] y_not_masked = np.where(vary_test != mask_value)[0] -percentilesx = weighted_quantile(varx_test[x_not_masked], [0.1, 0.99], sample_weight=total_weights[x_not_masked]) -percentilesy = weighted_quantile(vary_test[y_not_masked], [0.1, 0.99], sample_weight=total_weights[y_not_masked]) +percentilesx = weighted_quantile(varx_test[x_not_masked], [0.01, 0.99], sample_weight=total_weights[x_not_masked]) +percentilesy = weighted_quantile(vary_test[y_not_masked], [0.01, 0.99], sample_weight=total_weights[y_not_masked]) if args.xrange is not None: if len(args.xrange) < 3: @@ -154,10 +154,16 @@ if args.mode.startswith("mean"): elif args.mode.startswith("profile"): + def my_average(x, weights): + if weights.sum() <= 0: + return np.nan + else: + return np.average(x, weights=weights) + metric_dict = { "mean" : np.mean, "max" : np.max, - "average" : np.average, + "average" : my_average, } if args.mode == "profile_sig": -- GitLab