From 1c288d13ec2255900ee0d770167d3a3f14dd34ae Mon Sep 17 00:00:00 2001 From: Gertjan van den Burg Date: Tue, 27 Aug 2019 14:33:23 +0100 Subject: Also report number of false negatives --- app/main/demo.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'app') diff --git a/app/main/demo.py b/app/main/demo.py index 2b1e21e..c922d52 100644 --- a/app/main/demo.py +++ b/app/main/demo.py @@ -448,7 +448,7 @@ def process_annotations(demo_id): return retval -def metrics(true_cp, user_cp): +def metrics(true_cp, user_cp, k=5): true_cp = [int(x) for x in true_cp] user_cp = [int(x) for x in user_cp] @@ -466,8 +466,9 @@ def metrics(true_cp, user_cp): for cp in user_cp: to_delete = [] for y in rem_true: - if abs(cp - y) < 5: + if abs(cp - y) < k: window.append(cp) + to_delete.append(y) break for y in to_delete: rem_true.remove(y) @@ -479,12 +480,13 @@ def metrics(true_cp, user_cp): n_correct = len(correct) n_window = len(window) n_fp = len(incorrect) - return n_correct, n_window, n_fp + n_fn = len(rem_true) + return n_correct, n_window, n_fp, n_fn def get_user_feedback(true_cp, user_cp): """Generate HTML to show as feedback to the user""" - n_correct, n_window, n_fp = metrics(true_cp, user_cp) + n_correct, n_window, n_fp, n_fn = metrics(true_cp, user_cp) text = "\n\n*Feedback:*\n\n" if len(true_cp) == len(user_cp) == 0: @@ -494,7 +496,9 @@ def get_user_feedback(true_cp, user_cp): if n_window: text += f"- *Number of points correct within a 5-step window: {n_window}.*\n" if n_fp: - text += f"- *Number of incorrectly identified points: {n_fp}.*" + text += f"- *Number of incorrectly identified points: {n_fp}.*\n" + if n_fn: + text += f"- *Number of missed change points: {n_fn}.*" text.rstrip() text = markdown.markdown(text) -- cgit v1.2.3