diff options
author | Daniel Friesel <daniel.friesel@uos.de> | 2021-03-08 14:41:16 +0100 |
---|---|---|
committer | Daniel Friesel <daniel.friesel@uos.de> | 2021-03-08 14:41:16 +0100 |
commit | c5724cc3988b064730de57a04e72a9168455bc12 (patch) | |
tree | 4c980ebc023dd03da5d0c971dcb96401947ba910 /lib | |
parent | 55042ca7757c041b17dcab222bd09e0373d69707 (diff) |
model.assess: remove superfluous "by_name" indirection
Diffstat (limited to 'lib')
-rw-r--r-- | lib/model.py | 19 | ||||
-rw-r--r-- | lib/validation.py | 14 |
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 |