From 83f2fb37d1b2f128dfe5e6ca9e73cd5943af06ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ricardo=20Monta=C3=B1ana?= Date: Wed, 8 Dec 2021 00:39:59 +0100 Subject: [PATCH] Add command line arguments for summary --- src/summary.py | 59 +++++++++++++++++++++++++++++++++++--------------- 1 file changed, 41 insertions(+), 18 deletions(-) diff --git a/src/summary.py b/src/summary.py index bd15aa2..4d08790 100644 --- a/src/summary.py +++ b/src/summary.py @@ -1,23 +1,46 @@ +import argparse from Results import Summary + +def parse_arguments(): + ap = argparse.ArgumentParser() + ap.add_argument( + "-m", + "--model", + type=str, + required=True, + help="model name", + ) + ap.add_argument( + "-s", + "--score", + type=str, + required=True, + help="score name {accuracy, f1_micro, f1_macro, all}", + ) + args = ap.parse_args() + return ( + args.score, + args.model, + ) + + +( + score, + model, +) = parse_arguments() + +all_metrics = ["accuracy", "f1-macro", "f1-micro"] + +metrics = all_metrics if score == "all" else [score] + summary = Summary() summary.acquire() -for metric in ["accuracy", "f1-macro", "f1-micro"]: - for model in ["STree", "ODTE"]: - title = f"BEST RESULT of {metric} for {model}" - best = summary.best_result( - criterion="model", value=model, score=metric - ) - summary.show_result(data=best, title=title) if best != {} else print( - "No best result for {} {}".format(model, metric) - ) -summary.show_result( - summary.best_result(score="accuracy"), title="BEST RESULT accuracy" -) -summary.show_result( - summary.best_result(score="f1-macro"), title="BEST RESULT f1_macro" -) -summary.show_result( - summary.best_result(score="f1-micro"), title="BEST RESULT f1_micro" -) +for metric in metrics: + title = f"BEST RESULT of {metric} for {model}" + best = summary.best_result(criterion="model", value=model, score=metric) + summary.show_result(data=best, title=title) + summary.show_result( + summary.best_result(score=metric), title=f"BEST RESULT of {metric}" + )