From 6e2fa5f36deb9882e5bddb212695434c219c3d94 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Wed, 5 Jan 2022 15:56:24 +0100 Subject: store decision tree attributes of xv models in dataref export --- lib/model.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'lib/model.py') diff --git a/lib/model.py b/lib/model.py index 4f5f60f..5a44c7b 100644 --- a/lib/model.py +++ b/lib/model.py @@ -449,7 +449,9 @@ class AnalyticModel: threshold=threshold, ) - def to_dref(self, static_quality, lut_quality, model_quality) -> dict: + def to_dref( + self, static_quality, lut_quality, model_quality, xv_models=None + ) -> dict: ret = dict() for name in self.names: param_data = { @@ -546,6 +548,20 @@ class AnalyticModel: ) except KeyError: logger.warning(f"{name} {attr_name} param model has no MAPE") + + if xv_models is not None: + keys = ("decision tree/nodes", "decision tree/max depth") + entry = dict() + for k in keys: + entry[k] = list() + for xv_model in xv_models: + dref = xv_model.attr_by_name[name][attr_name].to_dref() + for k in keys: + if k in dref: + entry[k].append(dref[k]) + for k in keys: + if len(entry[k]): + ret[k] = np.mean(entry[k]) return ret def to_json(self, **kwargs) -> dict: -- cgit v1.2.3