Open mlindauer opened 7 years ago
@mlindauer: Did you install fANOVA as listed in the requirements file, i.e. git+http://github.com/automl/fanova@952c9bd46b47cde87036c00f974629c9e5819565 (I'm still working on getting a tag for fanova so we don't have to reference commit numbers) If so this shouldn't happen. If you've installed it manually, then you've installed the wrong branch. The pyrfr_reimplementation branch is what we need here.
yes, indeed, I used the wrong branch. After reinstalling fANOVA, I'm getting a new error now:
INFO:Importance:Running evaluation method fANOVA
Traceback (most recent call last):
File "/home/lindauer/git/ParameterImportance/scripts/evaluate.py", line 41, in <module>
result = importance.evaluate_scenario(args.modus)
File "/home/lindauer/git/ParameterImportance/pimp/importance/importance.py", line 247, in evaluate_scenario
return {evaluation_method: self.evaluator.run()}
File "/home/lindauer/git/ParameterImportance/pimp/evaluator/fanova.py", line 76, in run
idx, param.name, self.evaluator.quantify_importance([idx])[(idx, )]['total importance']))
File "/home/lindauer/anaconda3/lib/python3.6/site-packages/fanova/fanova.py", line 280, in quantify_importance
[self.V_U_total[sub_dims][t] / self.trees_total_variance[t] for t in range(self.n_trees)])
File "/home/lindauer/anaconda3/lib/python3.6/site-packages/fanova/fanova.py", line 280, in <listcomp>
[self.V_U_total[sub_dims][t] / self.trees_total_variance[t] for t in range(self.n_trees)])
ZeroDivisionError: float division by zero
This mean that one of the trees doesn't have any variance. Which can happen in the following scenarios:
None the less, the error shouldn't happen, and this issue actually belongs into the fANOVA. Could you guys try to take a snapshot of the data fed into the fANOVA to reproduce that on my side and fix it. Thanks!
Running on the spear-qcp example (from SMAC3)