summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBirte Kristina Friesel <birte.friesel@uos.de>2024-01-17 09:02:08 +0100
committerBirte Kristina Friesel <birte.friesel@uos.de>2024-01-17 09:02:08 +0100
commit1851e43ed746af8068e8655934cc8d0ed4b1a914 (patch)
treeceb5075eeb64e31177c06302d470e3b1f6857a18
parent2a0ec8f13458e5659936cc5ba34600c68c09be30 (diff)
dtree irrelevant param detection nits; still not working properly
-rw-r--r--lib/parameters.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/parameters.py b/lib/parameters.py
index ff0fdda..2095031 100644
--- a/lib/parameters.py
+++ b/lib/parameters.py
@@ -1197,6 +1197,7 @@ class ModelAttribute:
"""
param_count = len(self.param_names) + self.arg_count
+ # TODO eigentlich muss threshold hier auf Basis der aktuellen Messdatenpartition neu berechnet werden
if param_count == 0 or np.std(data) <= threshold:
return df.StaticFunction(np.mean(data))
# sf.value_error["std"] = np.std(data)
@@ -1206,11 +1207,9 @@ class ModelAttribute:
ffs_feasible = False
if ignore_irrelevant_parameters:
by_param = partition_by_param(data, parameters)
- distinct_values_by_param_index = distinct_param_values(
- parameters
- ) # required, "unique_values" in for loop is insufficient for std_by_param foo
- std_static = np.std(data)
+ distinct_values_by_param_index = distinct_param_values(parameters)
std_lut = np.mean([np.std(v) for v in by_param.values()])
+ irrelevant_params = list()
if loss_ignore_scalar:
ffs_eligible_params = list()
@@ -1261,11 +1260,12 @@ class ModelAttribute:
std_by_param = _mean_std_by_params(
by_param,
distinct_values_by_param_index,
- list(self.ignore_param.keys()) + [param_index],
+ list(self.ignore_param.keys()) + irrelevant_params + [param_index],
)
if not _depends_on_param(
None, std_by_param, std_lut, relevance_threshold
):
+ irrelevant_params.append(param_index)
loss.append(np.inf)
continue