From 60389c6212480f9a6b08b506fa583f408414446a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ricardo=20Montan=CC=83ana?= Date: Wed, 9 Feb 2022 12:21:43 +0100 Subject: [PATCH] Fix nan in sorted Fix liblinear experiments --- experiments/experiments.txt | 43 +++++++++++++++++++------------------ src/Results.py | 9 ++++++-- 2 files changed, 29 insertions(+), 23 deletions(-) diff --git a/experiments/experiments.txt b/experiments/experiments.txt index 7b03390..2538709 100644 --- a/experiments/experiments.txt +++ b/experiments/experiments.txt @@ -12,28 +12,29 @@ #ODTE_accuracy_slurm_0202_5.sh, ODTE&ODTE Random Forest rbf-trandom&{"n_jobs": 10, "n_estimators": 100, "max_features": "sqrt", "max_samples": 0.75, "be_hyperparams": "{\"kernel\": \"rbf\", \"splitter\": \"trandom\", \"max_features\": \"sqrt\"}"} #ODTE_accuracy_slurm_0202_6.sh, ODTE&ODTE Random Forest linear-trandom&{"n_jobs": 10, "n_estimators": 100, "max_features": "sqrt", "max_samples": 0.75, "be_hyperparams": "{\"kernel\": \"linear\", \"splitter\": \"trandom\", \"max_features\": \"sqrt\"}"} # Pseudo Random Forest -ODTE&ODTE pseudo Random Forest rbf-best max_features-sqrt&{"n_jobs": 10, "n_estimators": 100, "max_features": "sqrt" "be_hyperparams": "{\"kernel\": \"rbf\", \"splitter\": \"best\", \"max_features\": \"sqrt\"}"} -ODTE&ODTE pseudo Random Forest linear-best max_features-sqrt&{"n_jobs": 10, "n_estimators": 100, "max_features": "sqrt", "be_hyperparams": "{\"kernel\": \"linear\", \"splitter\": \"best\", \"max_features\": \"sqrt\"}"} -ODTE&ODTE pseudo Random Forest rbf-random max_features-sqrt&{"n_jobs": 10, "n_estimators": 100, "max_features": "sqrt", "be_hyperparams": "{\"kernel\": \"rbf\", \"splitter\": \"random\", \"max_features\": \"sqrt\"}"} -ODTE&ODTE pseudo Random Forest linear-random max_features-sqrt&{"n_jobs": 10, "n_estimators": 100, "max_features": "sqrt", "be_hyperparams": "{\"kernel\": \"linear\", \"splitter\": \"random\", \"max_features\": \"sqrt\"}"} -ODTE&ODTE pseudo Random Forest rbf-trandom max_features-sqrt&{"n_jobs": 10, "n_estimators": 100, "max_features": "sqrt", "be_hyperparams": "{\"kernel\": \"rbf\", \"splitter\": \"trandom\", \"max_features\": \"sqrt\"}"} -ODTE&ODTE pseudo Random Forest linear-trandom max_features-sqrt&{"n_jobs": 10, "n_estimators": 100, "max_features": "sqrt", "be_hyperparams": "{\"kernel\": \"linear\", \"splitter\": \"trandom\", \"max_features\": \"sqrt\"}"} -ODTE&ODTE pseudo Random Forest rbf-best max_samples-0.75&{"n_jobs": 10, "n_estimators": 100, "max_samples": 0.75, "be_hyperparams": "{\"kernel\": \"rbf\", \"splitter\": \"best\", \"max_features\": \"sqrt\"}"} -ODTE&ODTE pseudo Random Forest linear-best max_samples-0.75&{"n_jobs": 10, "n_estimators": 100, "max_samples": 0.75, "be_hyperparams": "{\"kernel\": \"linear\", \"splitter\": \"best\", \"max_features\": \"sqrt\"}"} -ODTE&ODTE pseudo Random Forest rbf-random max_samples-0.75&{"n_jobs": 10, "n_estimators": 100, "max_samples": 0.75, "be_hyperparams": "{\"kernel\": \"rbf\", \"splitter\": \"random\", \"max_features\": \"sqrt\"}"} -ODTE&ODTE pseudo Random Forest linear-random max_samples-0.75&{"n_jobs": 10, "n_estimators": 100, "max_samples": 0.75, "be_hyperparams": "{\"kernel\": \"linear\", \"splitter\": \"random\", \"max_features\": \"sqrt\"}"} -ODTE&ODTE pseudo Random Forest rbf-trandom max_samples-0.75&{"n_jobs": 10, "n_estimators": 100, "max_samples": 0.75, "be_hyperparams": "{\"kernel\": \"rbf\", \"splitter\": \"trandom\", \"max_features\": \"sqrt\"}"} -ODTE&ODTE pseudo Random Forest linear-trandom max_samples-0.75&{"n_jobs": 10, "n_estimators": 100, "max_samples": 0.75, "be_hyperparams": "{\"kernel\": \"linear\", \"splitter\": \"trandom\", \"max_features\": \"sqrt\"}"} +#ODTE&ODTE pseudo Random Forest rbf-best max_features-sqrt&{"n_jobs": 10, "n_estimators": 100, "max_features": "sqrt" "be_hyperparams": "{\"kernel\": \"rbf\", \"splitter\": \"best\", \"max_features\": \"sqrt\"}"} +#ODTE&ODTE pseudo Random Forest linear-best max_features-sqrt&{"n_jobs": 10, "n_estimators": 100, "max_features": "sqrt", "be_hyperparams": "{\"kernel\": \"linear\", \"splitter\": \"best\", \"max_features\": \"sqrt\"}"} +#ODTE&ODTE pseudo Random Forest rbf-random max_features-sqrt&{"n_jobs": 10, "n_estimators": 100, "max_features": "sqrt", "be_hyperparams": "{\"kernel\": \"rbf\", \"splitter\": \"random\", \"max_features\": \"sqrt\"}"} +#ODTE&ODTE pseudo Random Forest linear-random max_features-sqrt&{"n_jobs": 10, "n_estimators": 100, "max_features": "sqrt", "be_hyperparams": "{\"kernel\": \"linear\", \"splitter\": \"random\", \"max_features\": \"sqrt\"}"} +#ODTE&ODTE pseudo Random Forest rbf-trandom max_features-sqrt&{"n_jobs": 10, "n_estimators": 100, "max_features": "sqrt", "be_hyperparams": "{\"kernel\": \"rbf\", \"splitter\": \"trandom\", \"max_features\": \"sqrt\"}"} +#ODTE&ODTE pseudo Random Forest linear-trandom max_features-sqrt&{"n_jobs": 10, "n_estimators": 100, "max_features": "sqrt", "be_hyperparams": "{\"kernel\": \"linear\", \"splitter\": \"trandom\", \"max_features\": \"sqrt\"}"} +#ODTE&ODTE pseudo Random Forest rbf-best max_samples-0.75&{"n_jobs": 10, "n_estimators": 100, "max_samples": 0.75, "be_hyperparams": "{\"kernel\": \"rbf\", \"splitter\": \"best\", \"max_features\": \"sqrt\"}"} +#ODTE&ODTE pseudo Random Forest linear-best max_samples-0.75&{"n_jobs": 10, "n_estimators": 100, "max_samples": 0.75, "be_hyperparams": "{\"kernel\": \"linear\", \"splitter\": \"best\", \"max_features\": \"sqrt\"}"} +#ODTE&ODTE pseudo Random Forest rbf-random max_samples-0.75&{"n_jobs": 10, "n_estimators": 100, "max_samples": 0.75, "be_hyperparams": "{\"kernel\": \"rbf\", \"splitter\": \"random\", \"max_features\": \"sqrt\"}"} +#ODTE&ODTE pseudo Random Forest linear-random max_samples-0.75&{"n_jobs": 10, "n_estimators": 100, "max_samples": 0.75, "be_hyperparams": "{\"kernel\": \"linear\", \"splitter\": \"random\", \"max_features\": \"sqrt\"}"} +#ODTE&ODTE pseudo Random Forest rbf-trandom max_samples-0.75&{"n_jobs": 10, "n_estimators": 100, "max_samples": 0.75, "be_hyperparams": "{\"kernel\": \"rbf\", \"splitter\": \"trandom\", \"max_features\": \"sqrt\"}"} +#ODTE&ODTE pseudo Random Forest linear-trandom max_samples-0.75&{"n_jobs": 10, "n_estimators": 100, "max_samples": 0.75, "be_hyperparams": "{\"kernel\": \"linear\", \"splitter\": \"trandom\", \"max_features\": \"sqrt\"}"} +# # kernel liblinear Random Forest and pseudo Random Forest # RF -ODTE&ODTE Random Forest liblinear-best max_features-sqrt&'{"n_jobs": 10, "n_estimators": 100, "max_features": "sqrt", "max_samples": 0.75, "be_hyperparams": "{\"kernel\": \"liblinear\", \"splitter\": \"best\", \"multiclass_strategy\": \"ovr\"}"}' -ODTE&ODTE Random Forest liblinear-random max_features-sqrt&'{"n_jobs": 10, "n_estimators": 100, "max_features": "sqrt", "max_samples": 0.75, "be_hyperparams": "{\"kernel\": \"liblinear\", \"splitter\": \"random\", \"multiclass_strategy\": \"ovr\"}"}' -ODTE&ODTE Random Forest liblinear-trandom max_features-sqrt&'{"n_jobs": 10, "n_estimators": 100, "max_features": "sqrt", "max_samples": 0.75, "be_hyperparams": "{\"kernel\": \"liblinear\", \"splitter\": \"trandom\", \"multiclass_strategy\": \"ovr\"}"}' +ODTE&ODTE Random Forest liblinear-best max_features-sqrt&{"n_jobs": 10, "n_estimators": 100, "max_features": "sqrt", "max_samples": 0.75, "be_hyperparams": "{\"kernel\": \"liblinear\", \"splitter\": \"best\", \"multiclass_strategy\": \"ovr\"}"} +ODTE&ODTE Random Forest liblinear-random max_features-sqrt&{"n_jobs": 10, "n_estimators": 100, "max_features": "sqrt", "max_samples": 0.75, "be_hyperparams": "{\"kernel\": \"liblinear\", \"splitter\": \"random\", \"multiclass_strategy\": \"ovr\"}"} +ODTE&ODTE Random Forest liblinear-trandom max_features-sqrt&{"n_jobs": 10, "n_estimators": 100, "max_features": "sqrt", "max_samples": 0.75, "be_hyperparams": "{\"kernel\": \"liblinear\", \"splitter\": \"trandom\", \"multiclass_strategy\": \"ovr\"}"} # pseudo RF -ODTE&ODTE Random Forest liblinear-best max_samples-sqrt&'{"n_jobs": 10, "n_estimators": 100, "max_samples": 0.75, "be_hyperparams": "{\"kernel\": \"liblinear\", \"splitter\": \"trandom\", \"multiclass_strategy\": \"ovr\"}"}' -ODTE&ODTE Random Forest liblinear-random max_samples-sqrt&'{"n_jobs": 10, "n_estimators": 100, "max_samples": 0.75, "be_hyperparams": "{\"kernel\": \"liblinear\", \"splitter\": \"trandom\", \"multiclass_strategy\": \"ovr\"}"}' -ODTE&ODTE Random Forest liblinear-trandom max_samples-sqrt&'{"n_jobs": 10, "n_estimators": 100, "max_samples": 0.75, "be_hyperparams": "{\"kernel\": \"liblinear\", \"splitter\": \"trandom\", \"multiclass_strategy\": \"ovr\"}"}' -ODTE&ODTE Random Forest liblinear-best max_features-sqrt&'{"n_jobs": 10, "n_estimators": 100, "max_features": "sqrt", "be_hyperparams": "{\"kernel\": \"liblinear\", \"splitter\": \"trandom\", \"multiclass_strategy\": \"ovr\"}"}' -ODTE&ODTE Random Forest liblinear-random max_features-sqrt&'{"n_jobs": 10, "n_estimators": 100, "max_features": "sqrt", "be_hyperparams": "{\"kernel\": \"liblinear\", \"splitter\": \"trandom\", \"multiclass_strategy\": \"ovr\"}"}' -ODTE&ODTE Random Forest liblinear-trandom max_features-sqrt&'{"n_jobs": 10, "n_estimators": 100, "max_features": "sqrt", "be_hyperparams": "{\"kernel\": \"liblinear\", \"splitter\": \"trandom\", \"multiclass_strategy\": \"ovr\"}"}' +ODTE&ODTE pseudo Random Forest liblinear-best max_samples-sqrt&{"n_jobs": 10, "n_estimators": 100, "max_samples": 0.75, "be_hyperparams": "{\"kernel\": \"liblinear\", \"splitter\": \"best\", \"multiclass_strategy\": \"ovr\"}"} +ODTE&ODTE pseudo Random Forest liblinear-random max_samples-sqrt&{"n_jobs": 10, "n_estimators": 100, "max_samples": 0.75, "be_hyperparams": "{\"kernel\": \"liblinear\", \"splitter\": \"random\", \"multiclass_strategy\": \"ovr\"}"} +ODTE&ODTE pseudo Random Forest liblinear-trandom max_samples-sqrt&{"n_jobs": 10, "n_estimators": 100, "max_samples": 0.75, "be_hyperparams": "{\"kernel\": \"liblinear\", \"splitter\": \"trandom\", \"multiclass_strategy\": \"ovr\"}"} +ODTE&ODTE pseudo Random Forest liblinear-best max_features-sqrt&{"n_jobs": 10, "n_estimators": 100, "max_features": "sqrt", "be_hyperparams": "{\"kernel\": \"liblinear\", \"splitter\": \"best\", \"multiclass_strategy\": \"ovr\"}"} +ODTE&ODTE pseudo Random Forest liblinear-random max_features-sqrt&{"n_jobs": 10, "n_estimators": 100, "max_features": "sqrt", "be_hyperparams": "{\"kernel\": \"liblinear\", \"splitter\": \"random\", \"multiclass_strategy\": \"ovr\"}"} +ODTE&ODTE pseudo Random Forest liblinear-trandom max_features-sqrt&{"n_jobs": 10, "n_estimators": 100, "max_features": "sqrt", "be_hyperparams": "{\"kernel\": \"liblinear\", \"splitter\": \"trandom\", \"multiclass_strategy\": \"ovr\"}"}# RF \ No newline at end of file diff --git a/src/Results.py b/src/Results.py index 2fe83f7..4c8440f 100644 --- a/src/Results.py +++ b/src/Results.py @@ -1,4 +1,5 @@ import os +import math import json import abc import shutil @@ -741,7 +742,7 @@ class Summary: file_name = data["file"] metric = data["metric"] result = StubReport(os.path.join(Folders.results, file_name)) - length = 80 + length = 81 print("*" * length) if title != "": print(f"*{title:^{length - 2}s}*") @@ -786,7 +787,11 @@ class Summary: else [x for x in haystack if x[criterion] == value] ) return ( - sorted(haystack, key=lambda x: x["metric"], reverse=True)[0] + sorted( + haystack, + key=lambda x: -1.0 if math.isnan(x["metric"]) else x["metric"], + reverse=True, + )[0] if len(haystack) > 0 else {} )