diff --git a/benchmark/Datasets.py b/benchmark/Datasets.py index b0228d9..2a966e7 100644 --- a/benchmark/Datasets.py +++ b/benchmark/Datasets.py @@ -1,4 +1,5 @@ import os +from types import SimpleNamespace import pandas as pd import numpy as np from scipy.io import arff @@ -132,11 +133,10 @@ class Datasets: return [class_name], [dataset_name] def get_attributes(self, name): - class Attributes: - pass - - X, y = self.load_continuous(name) - attr = Attributes() + tmp = self.discretize + self.discretize = False + X, y = self.load(name) + attr = SimpleNamespace() values, counts = np.unique(y, return_counts=True) comp = "" sep = "" @@ -147,6 +147,7 @@ class Datasets: attr.classes = len(np.unique(y)) attr.samples = X.shape[0] attr.features = X.shape[1] + self.discretize = tmp return attr def get_features(self): diff --git a/benchmark/scripts/be_report.py b/benchmark/scripts/be_report.py index 01a6208..9fc6c9f 100755 --- a/benchmark/scripts/be_report.py +++ b/benchmark/scripts/be_report.py @@ -51,31 +51,34 @@ def main(args_test=None): ], ) args = arguments.parse(args_test) - if args.subcommand == "best" or args.subcommand == "grid": - best = args.subcommand == "best" - report = ReportBest(args.score, args.model, best) - report.report() - elif args.subcommand == "file": - try: - report = Report(args.file_name, args.compare) + match args.subcommand: + case "best" | "grid": + best = args.subcommand == "best" + report = ReportBest(args.score, args.model, best) report.report() - except FileNotFoundError as e: - print(e) - return - if args.sql: - sql = SQL(args.file_name) - sql.report() - if args.excel: - excel = Excel( - file_name=args.file_name, - compare=args.compare, - ) - excel.report() - is_test = args_test is not None - Files.open(excel.get_file_name(), is_test) - else: - report = ReportDatasets(args.excel) - report.report() - if args.excel: - is_test = args_test is not None - Files.open(report.get_file_name(), is_test) + case "file": + try: + report = Report(args.file_name, args.compare) + report.report() + except FileNotFoundError as e: + print(e) + return + if args.sql: + sql = SQL(args.file_name) + sql.report() + if args.excel: + excel = Excel( + file_name=args.file_name, + compare=args.compare, + ) + excel.report() + is_test = args_test is not None + Files.open(excel.get_file_name(), is_test) + case "datasets": + report = ReportDatasets(args.excel) + report.report() + if args.excel: + is_test = args_test is not None + Files.open(report.get_file_name(), is_test) + case _: + arguments.parse(["-h"])