summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/functions.py3
-rw-r--r--lib/parameters.py10
2 files changed, 11 insertions, 2 deletions
diff --git a/lib/functions.py b/lib/functions.py
index 0b0044b..aa328ef 100644
--- a/lib/functions.py
+++ b/lib/functions.py
@@ -608,7 +608,7 @@ class FOLFunction(ModelFunction):
self._num_args = num_args
self.fit_success = False
- def fit(self, param_values, data):
+ def fit(self, param_values, data, ignore_param_indexes=None):
categorial_to_scalar = bool(
int(os.getenv("DFATOOL_PARAM_CATEGORIAL_TO_SCALAR", "0"))
)
@@ -616,6 +616,7 @@ class FOLFunction(ModelFunction):
param_values,
with_nan=False,
categorial_to_scalar=categorial_to_scalar,
+ ignore_indexes=ignore_param_indexes,
)
self.categorial_to_index = categorial_to_index
self.ignore_index = ignore_index
diff --git a/lib/parameters.py b/lib/parameters.py
index ed56bdd..a636b52 100644
--- a/lib/parameters.py
+++ b/lib/parameters.py
@@ -880,8 +880,16 @@ class ModelAttribute:
return ret
def build_fol_model(self):
+ ignore_irrelevant = bool(
+ int(os.getenv("DFATOOL_DTREE_IGNORE_IRRELEVANT_PARAMS", "1"))
+ )
+ ignore_param_indexes = list()
+ if ignore_irrelevant:
+ for i, param in enumerate(self.param_names):
+ if not self.stats.depends_on_param(param):
+ ignore_param_indexes.append(i)
x = df.FOLFunction(self.median, self.param_names)
- x.fit(self.param_values, self.data)
+ x.fit(self.param_values, self.data, ignore_param_indexes=ignore_param_indexes)
if x.fit_success:
self.model_function = x
else: