mirror of
https://github.com/Doctorado-ML/benchmark.git
synced 2025-08-17 00:15:55 +00:00
73 lines
2.2 KiB
Python
73 lines
2.2 KiB
Python
import os
|
|
import unittest
|
|
from ..Models import Models
|
|
from ..Experiments import BestResults, Datasets
|
|
|
|
|
|
class BestResultTest(unittest.TestCase):
|
|
def __init__(self, *args, **kwargs):
|
|
os.chdir(os.path.dirname(os.path.abspath(__file__)))
|
|
super().__init__(*args, **kwargs)
|
|
|
|
def tearDown(self) -> None:
|
|
return super().tearDown()
|
|
|
|
def test_load(self):
|
|
expected = {
|
|
"balance-scale": [
|
|
0.98,
|
|
{"splitter": "iwss", "max_features": "auto"},
|
|
"results_accuracy_STree_iMac27_2021-10-27_09:40:40_0.json",
|
|
],
|
|
"balloons": [
|
|
0.86,
|
|
{
|
|
"C": 7,
|
|
"gamma": 0.1,
|
|
"kernel": "rbf",
|
|
"max_iter": 10000.0,
|
|
"multiclass_strategy": "ovr",
|
|
},
|
|
"results_accuracy_STree_iMac27_2021-09-30_11:42:07_0.json",
|
|
],
|
|
}
|
|
dt = Datasets()
|
|
model = "STree"
|
|
best = BestResults(
|
|
score="accuracy", model=model, datasets=dt, quiet=True
|
|
)
|
|
best.build()
|
|
self.assertSequenceEqual(best.load({}), expected)
|
|
|
|
def test_load_error(self):
|
|
dt = Datasets()
|
|
model = "STree"
|
|
best = BestResults(
|
|
score="accuracy", model=model, datasets=dt, quiet=True
|
|
)
|
|
file_name = best._get_file_name()
|
|
os.rename(file_name, file_name + ".bak")
|
|
try:
|
|
best.load({})
|
|
except ValueError:
|
|
pass
|
|
else:
|
|
self.fail("BestResults.load() should raise ValueError")
|
|
finally:
|
|
os.rename(file_name + ".bak", file_name)
|
|
|
|
def test_fill(self):
|
|
dt = Datasets()
|
|
model = "STree"
|
|
best = BestResults(
|
|
score="accuracy", model=model, datasets=dt, quiet=True
|
|
)
|
|
self.assertSequenceEqual(
|
|
best.fill({"test": "test"}, {"balloons": []}),
|
|
{"balloons": [], "balance-scale": (0.0, {"test": "test"}, "")},
|
|
)
|
|
self.assertSequenceEqual(
|
|
best.fill({}),
|
|
{"balance-scale": (0.0, {}, ""), "balloons": (0.0, {}, "")},
|
|
)
|