mirror of
https://github.com/Doctorado-ML/Stree_datasets.git
synced 2025-08-16 07:56:07 +00:00
Non stratified experiments
Remove reference column in analysis
This commit is contained in:
@@ -15,7 +15,7 @@ models_tree = [
|
||||
]
|
||||
models_ensemble = ["odte", "adaBoost", "bagging", "TBRaF", "TBRoF", "TBRRoF"]
|
||||
title = "Best model results"
|
||||
lengths = (30, 9, 11, 11, 11, 11, 11, 11)
|
||||
lengths = (30, 12, 12, 12, 12, 12, 12)
|
||||
|
||||
|
||||
def parse_arguments() -> Tuple[str, str, str, bool, bool]:
|
||||
@@ -63,7 +63,7 @@ def report_header_content(title, experiment, model_type):
|
||||
output += "*" * length + "\n\n"
|
||||
lines = ""
|
||||
for item, data in enumerate(fields):
|
||||
output += f"{fields[item]:{lengths[item]}} "
|
||||
output += f"{fields[item]:^{lengths[item]}} "
|
||||
lines += "=" * lengths[item] + " "
|
||||
output += f"\n{lines}"
|
||||
return output
|
||||
@@ -80,31 +80,17 @@ def report_header(title, experiment, model_type):
|
||||
def report_line(line):
|
||||
output = f"{line['dataset']:{lengths[0] + 5}s} "
|
||||
data = models.copy()
|
||||
data.insert(0, "reference")
|
||||
for key, model in enumerate(data):
|
||||
output += f"{line[model]:{lengths[key + 1]}s} "
|
||||
return output
|
||||
|
||||
|
||||
def report_footer(agg):
|
||||
print(
|
||||
TextColor.GREEN
|
||||
+ f"we have better results {agg['better']['items']:2d} times"
|
||||
)
|
||||
print(
|
||||
TextColor.RED
|
||||
+ f"we have worse results {agg['worse']['items']:2d} times"
|
||||
)
|
||||
length = sum(lengths) + len(lengths) - 1
|
||||
print("-" * length)
|
||||
color = TextColor.LINE1
|
||||
for item in models:
|
||||
print(
|
||||
color + f"{item:10s} used {agg[item]['items']:2d} times ", end=""
|
||||
)
|
||||
print(
|
||||
color + f"better than reference {agg[item]['better']:2d} times ",
|
||||
end="",
|
||||
)
|
||||
print(color + f"worse {agg[item]['worse']:2d} times ", end="")
|
||||
print(color + f"{item:10s} ", end="")
|
||||
print(color + f"best of models {agg[item]['best']:2d} times")
|
||||
color = (
|
||||
TextColor.LINE2 if color == TextColor.LINE1 else TextColor.LINE1
|
||||
@@ -115,7 +101,7 @@ def report_footer(agg):
|
||||
dbh = MySQL()
|
||||
database = dbh.get_connection()
|
||||
dt = Datasets(False, False, "tanveer")
|
||||
fields = ("Dataset", "Reference")
|
||||
fields = ("Dataset",)
|
||||
models = models_tree if model_type == "tree" else models_ensemble
|
||||
for item in models:
|
||||
fields += (f"{item}",)
|
||||
@@ -127,9 +113,6 @@ for item in [
|
||||
"worse",
|
||||
] + models:
|
||||
agg[item] = {}
|
||||
agg[item]["items"] = 0
|
||||
agg[item]["better"] = 0
|
||||
agg[item]["worse"] = 0
|
||||
agg[item]["best"] = 0
|
||||
if csv_output:
|
||||
f = open(report_csv, "w")
|
||||
@@ -143,22 +126,13 @@ for dataset in dt:
|
||||
for model in models:
|
||||
record = dbh.find_best(dataset[0], model, experiment)
|
||||
if record is None:
|
||||
line[model] = color + "-" * 9 + " "
|
||||
line[model] = color + "-" * 12
|
||||
else:
|
||||
reference = record[13]
|
||||
accuracy = record[5]
|
||||
acc_std = record[11]
|
||||
find_one = True
|
||||
agg[model]["items"] += 1
|
||||
if accuracy > reference:
|
||||
sign = "+"
|
||||
agg["better"]["items"] += 1
|
||||
agg[model]["better"] += 1
|
||||
else:
|
||||
sign = "-"
|
||||
agg["worse"]["items"] += 1
|
||||
agg[model]["worse"] += 1
|
||||
item = f"{accuracy:9.7} {sign}"
|
||||
line["reference"] = f"{reference:9.7}"
|
||||
item = f"{accuracy:.4f}±{acc_std:.3f}"
|
||||
if accuracy == max_accuracy:
|
||||
line[model] = (
|
||||
TextColor.GREEN + TextColor.BOLD + item + TextColor.ENDC
|
||||
|
Reference in New Issue
Block a user