automl / ParameterImportance

Parameter Importance Analysis Tool
http://www.ml4aad.org/
BSD 3-Clause "New" or "Revised" License
76 stars 19 forks source link

violates forbidden clause #5

Closed mlindauer closed 7 years ago

mlindauer commented 7 years ago

The configspace complains about violated forbidden combinations.

  File "/home/lindauer/git/ParameterImportance/scripts/evaluate.py", line 32, in <module>
    importance_value_dict = importance.evaluate_scenario(args.modus)
  File "/home/lindauer/git/ParameterImportance/pimp/importance/importance.py", line 241, in evaluate_scenario
    return self.evaluator.run()
  File "/home/lindauer/git/ParameterImportance/pimp/evaluator/ablation.py", line 163, in run
    modifiable_config = Configuration(self.cs, modifiable_config_dict)
  File "/home/lindauer/anaconda3/lib/python3.5/site-packages/ConfigSpace-0.3.0-py3.5.egg/ConfigSpace/configuration_space.py", line 846, in __init__
    self.is_valid_configuration()
  File "/home/lindauer/anaconda3/lib/python3.5/site-packages/ConfigSpace-0.3.0-py3.5.egg/ConfigSpace/configuration_space.py", line 868, in is_valid_configuration
    self, allow_inactive_with_values=self.allow_inactive_with_values)
  File "/home/lindauer/anaconda3/lib/python3.5/site-packages/ConfigSpace-0.3.0-py3.5.egg/ConfigSpace/configuration_space.py", line 632, in _check_configuration
    self._check_forbidden(configuration)
  File "/home/lindauer/anaconda3/lib/python3.5/site-packages/ConfigSpace-0.3.0-py3.5.egg/ConfigSpace/configuration_space.py", line 638, in _check_forbidden
    str(configuration), str(clause)))
ValueError: Configuration:
  K-val, Value: '0.8'
  R-val, Value: '1.4'
  ccmin-mode, Value: '2'
  cla-decay, Value: '0.999'
  core-tolerance, Value: '0.02'
  cp-increase, Value: '15000'
  lbd-cut, Value: '5'
  lbd-cut-max, Value: '4'
  luby, Value: '0'
violates forbidden clause (Forbidden: lbd-cut == '5' && Forbidden: lbd-cut-max == '4')

here the problematic pcs:

luby{0,1}[0]
rfirst{5,10,50,100,200}[100]

K-val{0.7,0.8,0.9}[0.8]
R-val{1.3,1.4,1.5}[1.4]

lbd-cut{3,4,5,6}[5]
lbd-cut-max{4,5,6,7,8,9,10}[10]

cp-increase{5000,10000,15000,20000,25000}[15000]
core-tolerance{0.01,0.02,0.03,0.04,0.05}[0.02]

cla-decay{0.999,0.995,0.99,0.95,0.9,0.8}[0.999]
ccmin-mode{1,2}[2]

rfirst|luby in {1}
K-val|luby in {0}
R-val|luby in {0}

{lbd-cut=5,lbd-cut-max=4}
{lbd-cut=6,lbd-cut-max=4}
{lbd-cut=6,lbd-cut-max=5}

I would suggest that a configuration is not considered for the ablation path if it is forbidden.