summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDaniel Friesel <daniel.friesel@uos.de>2021-03-08 14:41:16 +0100
committerDaniel Friesel <daniel.friesel@uos.de>2021-03-08 14:41:16 +0100
commitc5724cc3988b064730de57a04e72a9168455bc12 (patch)
tree4c980ebc023dd03da5d0c971dcb96401947ba910 /lib
parent55042ca7757c041b17dcab222bd09e0373d69707 (diff)
model.assess: remove superfluous "by_name" indirection
Diffstat (limited to 'lib')
-rw-r--r--lib/model.py19
-rw-r--r--lib/validation.py14
2 files changed, 15 insertions, 18 deletions
diff --git a/lib/model.py b/lib/model.py
index 85cda71..829ca37 100644
--- a/lib/model.py
+++ b/lib/model.py
@@ -309,15 +309,15 @@ class AnalyticModel:
measures = regression_measures(predicted_data, elem[attribute])
detailed_results[name][attribute] = measures
- return {"by_name": detailed_results}
+ return detailed_results
def to_dref(self, static_quality, lut_quality, model_quality) -> dict:
ret = dict()
for name in self.names:
for attr_name, attr in self.attr_by_name[name].items():
- e_static = static_quality["by_name"][name][attr_name]
- e_lut = lut_quality["by_name"][name][attr_name]
- e_model = model_quality["by_name"][name][attr_name]
+ e_static = static_quality[name][attr_name]
+ e_lut = lut_quality[name][attr_name]
+ e_model = model_quality[name][attr_name]
unit = None
if "power" in attr.attr:
unit = r"\micro\watt"
@@ -791,9 +791,7 @@ class PTAModel(AnalyticModel):
if pta is None:
pta = PTA(self.states, parameters=self._parameter_names)
pta.update(
- param_info,
- static_error=static_quality["by_name"],
- function_error=analytic_quality["by_name"],
+ param_info, static_error=static_quality, function_error=analytic_quality
)
return pta.to_json()
@@ -812,7 +810,7 @@ class PTAModel(AnalyticModel):
"""
if ref is None:
ref = self.by_name
- detailed_results = super().assess(model_function, ref=ref)["by_name"]
+ detailed_results = super().assess(model_function, ref=ref)
for name, elem in sorted(ref.items()):
if elem["isa"] == "transition":
predicted_data = np.array(
@@ -831,7 +829,7 @@ class PTAModel(AnalyticModel):
)
detailed_results[name]["energy_Pt"] = measures
- return {"by_name": detailed_results}
+ return detailed_results
def assess_states(
self, model_function, model_attribute="power", distribution: dict = None
@@ -861,8 +859,7 @@ class PTAModel(AnalyticModel):
sum(
map(
lambda x: np.square(
- model_quality["by_name"][x][model_attribute]["mae"]
- * distribution[x]
+ model_quality[x][model_attribute]["mae"] * distribution[x]
),
self.states,
)
diff --git a/lib/validation.py b/lib/validation.py
index ee147fe..cfd4deb 100644
--- a/lib/validation.py
+++ b/lib/validation.py
@@ -172,12 +172,12 @@ class CrossValidator:
return self._generic_xv(model_getter, training_and_validation_sets)
def _generic_xv(self, model_getter, training_and_validation_sets):
- ret = {"by_name": dict()}
+ ret = dict()
for name in self.names:
- ret["by_name"][name] = dict()
+ ret[name] = dict()
for attribute in self.by_name[name]["attributes"]:
- ret["by_name"][name][attribute] = {
+ ret[name][attribute] = {
"mae_list": list(),
"rmsd_list": list(),
"smape_list": list(),
@@ -188,15 +188,15 @@ class CrossValidator:
for name in self.names:
for attribute in self.by_name[name]["attributes"]:
for measure in ("mae", "rmsd", "smape"):
- ret["by_name"][name][attribute][f"{measure}_list"].append(
- res["by_name"][name][attribute][measure]
+ ret[name][attribute][f"{measure}_list"].append(
+ res[name][attribute][measure]
)
for name in self.names:
for attribute in self.by_name[name]["attributes"]:
for measure in ("mae", "rmsd", "smape"):
- ret["by_name"][name][attribute][measure] = np.mean(
- ret["by_name"][name][attribute][f"{measure}_list"]
+ ret[name][attribute][measure] = np.mean(
+ ret[name][attribute][f"{measure}_list"]
)
return ret