mirror of
https://github.com/Doctorado-ML/benchmark.git
synced 2025-08-19 09:25:55 +00:00
Create benchmark
This commit is contained in:
81
src/report.py
Normal file
81
src/report.py
Normal file
@@ -0,0 +1,81 @@
|
||||
import argparse
|
||||
import numpy as np
|
||||
from Experiments import Datasets
|
||||
from Results import Report, Excel, SQL, ReportBest
|
||||
|
||||
"""Build report on screen of a result file, optionally generate excel and sql
|
||||
file, and can compare results of report with best results obtained by model
|
||||
If no argument is set, displays the datasets and its characteristics
|
||||
"""
|
||||
|
||||
|
||||
def parse_arguments():
|
||||
ap = argparse.ArgumentParser()
|
||||
ap.add_argument(
|
||||
"-f",
|
||||
"--file",
|
||||
type=str,
|
||||
required=False,
|
||||
help="Result file",
|
||||
)
|
||||
ap.add_argument(
|
||||
"-x",
|
||||
"--excel",
|
||||
type=bool,
|
||||
required=False,
|
||||
help="Generate Excel file",
|
||||
)
|
||||
ap.add_argument(
|
||||
"-q",
|
||||
"--sql",
|
||||
type=bool,
|
||||
required=False,
|
||||
help="Generate sql file",
|
||||
)
|
||||
ap.add_argument(
|
||||
"-c",
|
||||
"--compare",
|
||||
type=bool,
|
||||
required=False,
|
||||
help="Compare accuracy with best results",
|
||||
)
|
||||
ap.add_argument(
|
||||
"-b",
|
||||
"--best",
|
||||
type=str,
|
||||
required=False,
|
||||
help="best results of models",
|
||||
)
|
||||
args = ap.parse_args()
|
||||
return (args.file, args.excel, args.sql, args.compare, args.best)
|
||||
|
||||
|
||||
def default_report():
|
||||
sets = Datasets()
|
||||
print(f"{'Dataset':30s} Samp. Feat Cls")
|
||||
print("=" * 30 + " ===== ==== ===")
|
||||
for line in sets:
|
||||
X, y = sets.load(line)
|
||||
print(
|
||||
f"{line:30s} {X.shape[0]:5,d} {X.shape[1]:4d} "
|
||||
f"{len(np.unique(y)):3d}"
|
||||
)
|
||||
|
||||
|
||||
(file, excel, sql, compare, best) = parse_arguments()
|
||||
|
||||
if file is None and best is None:
|
||||
default_report()
|
||||
else:
|
||||
if best is not None:
|
||||
report = ReportBest(best)
|
||||
report.report()
|
||||
else:
|
||||
report = Report(file, compare)
|
||||
report.report()
|
||||
if excel:
|
||||
excel = Excel(file, compare)
|
||||
excel.report()
|
||||
if sql:
|
||||
sql = SQL(file)
|
||||
sql.report()
|
Reference in New Issue
Block a user