cave.analyzer.cave_fanova module

class cave.analyzer.cave_fanova.CaveFanova(runscontainer, marginal_threshold=0.05)[source]

Bases: cave.analyzer.cave_parameter_importance.CaveParameterImportance

fANOVA (functional analysis of variance) computes the fraction of the variance in the cost space explained by changing a parameter by marginalizing over all other parameters, for each parameter (or for pairs of parameters). Parameters with high importance scores will have a large impact on the performance. To this end, a random forest is trained as an empirical performance model on the available empirical data from the available runhistories.

Wrapper for parameter_importance to save the importance-object/ extract the results. We want to show the top X most important parameter-fanova-plots.

  • runscontainer (RunsContainer) – contains all important information about the configurator runs

  • marginal_threshold (float) – parameter/s must be at least this important to be mentioned

classmethod check_for_bokeh(d)
get_html(d=None, tooltip=None)

General reports in html-format, to be easily integrated in html-code. ALSO FOR BOKEH-OUTPUT.


d (Dictionary) – a dictionary that will be later turned into a website


script, div – header and body part of html-code

Return type

str, str


Depending on analysis, this creates jupyter-notebook compatible output.

modus: str

modus for parameter importance, from [forward-selection, ablation, fanova, lpi]


This function needs to be called if bokeh-plots are to be displayed in notebook AND saved to webpage.

postprocess(pimp, output_dir)[source]