feat: Make nodes, leaves, depth labels customizable in .env

This commit is contained in:
Ricardo Montañana Gómez
2023-01-22 11:37:03 +01:00
parent 5ff6265a08
commit d454a318fc
7 changed files with 42 additions and 22 deletions

View File

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

View File

@@ -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),

View File

@@ -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
discretize=0
nodes=Nodes
leaves=Leaves
depth=Depth

View File

@@ -5,4 +5,7 @@ model=ODTE
stratified=0
source_data=Arff
seeds=[271, 314, 171]
discretize=1
discretize=1
nodes=Nodes
leaves=Leaves
depth=Depth

View File

@@ -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
discretize=0
nodes=Nodes
leaves=Leaves
depth=Depth

View File

@@ -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
discretize=0
nodes=Nodes
leaves=Leaves
depth=Depth

View File

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