Add command line arguments for summary

This commit is contained in:
2021-12-08 00:39:59 +01:00
parent f7781b9320
commit 83f2fb37d1

View File

@@ -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}"
)