From d454a318fc2269718725885c0ebd520a66d0c46e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ricardo=20Monta=C3=B1ana=20G=C3=B3mez?= Date: Sun, 22 Jan 2023 11:37:03 +0100 Subject: [PATCH] feat: :sparkles: Make nodes, leaves, depth labels customizable in .env --- benchmark/Datasets.py | 6 +++--- benchmark/Results.py | 35 ++++++++++++++++++++--------------- benchmark/tests/.env | 5 ++++- benchmark/tests/.env.arff | 5 ++++- benchmark/tests/.env.dist | 5 ++++- benchmark/tests/.env.surcov | 5 ++++- benchmark/tests/Util_test.py | 3 +++ 7 files changed, 42 insertions(+), 22 deletions(-) diff --git a/benchmark/Datasets.py b/benchmark/Datasets.py index 1106a7e..74ed0f4 100644 --- a/benchmark/Datasets.py +++ b/benchmark/Datasets.py @@ -109,14 +109,14 @@ class DatasetsSurcov: class Datasets: def __init__(self, dataset_name=None, discretize=None): - envData = EnvData.load() + env_data = EnvData.load() # DatasetsSurcov, DatasetsTanveer, DatasetsArff,... source_name = getattr( __import__(__name__), - f"Datasets{envData['source_data']}", + f"Datasets{env_data['source_data']}", ) self.discretize = ( - envData["discretize"] == "1" + env_data["discretize"] == "1" if discretize is None else discretize == "1" ) diff --git a/benchmark/Results.py b/benchmark/Results.py index 2188ea3..97ee84d 100644 --- a/benchmark/Results.py +++ b/benchmark/Results.py @@ -65,6 +65,11 @@ class BaseReport(abc.ABC): self.lines = self.data["results"] self.score_name = self.data["score_name"] self.__compute_best_results_ever() + # Set the labels for nodes, leaves, depth + env_data = EnvData.load() + self.nodes_label = env_data["nodes"] + self.leaves_label = env_data["leaves"] + self.depth_label = env_data["depth"] def __compute_best_results_ever(self): args = EnvData.load() @@ -132,23 +137,23 @@ class BaseReport(abc.ABC): class Report(BaseReport): header_lengths = [30, 6, 5, 3, 7, 7, 7, 15, 17, 15] - header_cols = [ - "Dataset", - "Sampl.", - "Feat.", - "Cls", - "Nodes", - "Leaves", - "Depth", - "Score", - "Time", - "Hyperparameters", - ] def __init__(self, file_name: str, compare: bool = False): super().__init__(file_name) self.nline = 0 self.compare = compare + self.header_cols = [ + "Dataset", + "Sampl.", + "Feat.", + "Cls", + self.nodes_label, + self.leaves_label, + self.depth_label, + "Score", + "Time", + "Hyperparameters", + ] def header_line(self, text: str) -> None: print(TextColor.LINE1, end="") @@ -489,9 +494,9 @@ class Excel(BaseReport): ("Samples", 10), ("Features", 7), ("Classes", 7), - ("Nodes", 7), - ("Leaves", 7), - ("Depth", 7), + (self.nodes_label, 7), + (self.leaves_label, 7), + (self.depth_label, 7), ("Score", 12), ("Score Std.", 12), ("Time", 12), diff --git a/benchmark/tests/.env b/benchmark/tests/.env index f554eaf..c4c0029 100644 --- a/benchmark/tests/.env +++ b/benchmark/tests/.env @@ -6,4 +6,7 @@ stratified=0 # Source of data Tanveer/Surcov source_data=Tanveer seeds=[57, 31, 1714, 17, 23, 79, 83, 97, 7, 1] -discretize=0 \ No newline at end of file +discretize=0 +nodes=Nodes +leaves=Leaves +depth=Depth \ No newline at end of file diff --git a/benchmark/tests/.env.arff b/benchmark/tests/.env.arff index 7f196d9..0d1f264 100644 --- a/benchmark/tests/.env.arff +++ b/benchmark/tests/.env.arff @@ -5,4 +5,7 @@ model=ODTE stratified=0 source_data=Arff seeds=[271, 314, 171] -discretize=1 \ No newline at end of file +discretize=1 +nodes=Nodes +leaves=Leaves +depth=Depth \ No newline at end of file diff --git a/benchmark/tests/.env.dist b/benchmark/tests/.env.dist index f554eaf..c4c0029 100644 --- a/benchmark/tests/.env.dist +++ b/benchmark/tests/.env.dist @@ -6,4 +6,7 @@ stratified=0 # Source of data Tanveer/Surcov source_data=Tanveer seeds=[57, 31, 1714, 17, 23, 79, 83, 97, 7, 1] -discretize=0 \ No newline at end of file +discretize=0 +nodes=Nodes +leaves=Leaves +depth=Depth \ No newline at end of file diff --git a/benchmark/tests/.env.surcov b/benchmark/tests/.env.surcov index 805ec7b..45a2ebe 100644 --- a/benchmark/tests/.env.surcov +++ b/benchmark/tests/.env.surcov @@ -6,4 +6,7 @@ stratified=0 # Source of data Tanveer/Surcov source_data=Surcov seeds=[57, 31, 1714, 17, 23, 79, 83, 97, 7, 1] -discretize=0 \ No newline at end of file +discretize=0 +nodes=Nodes +leaves=Leaves +depth=Depth \ No newline at end of file diff --git a/benchmark/tests/Util_test.py b/benchmark/tests/Util_test.py index 8ca7b33..a0d5fbc 100644 --- a/benchmark/tests/Util_test.py +++ b/benchmark/tests/Util_test.py @@ -180,6 +180,9 @@ class UtilTest(TestBase): "source_data": "Tanveer", "seeds": "[57, 31, 1714, 17, 23, 79, 83, 97, 7, 1]", "discretize": "0", + "nodes": "Nodes", + "leaves": "Leaves", + "depth": "Depth", } computed = EnvData().load() self.assertDictEqual(computed, expected)