cave.analyzer.configurator.configurator_footprint module

class cave.analyzer.configurator.configurator_footprint.ConfiguratorFootprint(runscontainer, max_configurations_to_plot=None, time_slider=None, number_quantiles=None, timeslider_log: bool = None)[source]

Bases: cave.analyzer.base_analyzer.BaseAnalyzer

Analysis of the iteratively sampled configurations during the optimization procedure. Multi-dimensional scaling (MDS) is used to reduce dimensionality of the search space and plot the distribution of evaluated configurations. The larger the dot, the more often the configuration was evaluated on instances from the set. Configurations that were incumbents at least once during optimization are marked as red squares. Configurations acquired through local search are marked with a ‘x’. The downward triangle denotes the final incumbent, whereas the orange upward triangle denotes the default configuration. The heatmap and the colorbar correspond to the predicted performance in that part of the search space.

Plot the visualization of configurations, highlighting the incumbents. Using original rh, so the explored configspace can be estimated.

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

  • max_configurations_to_plot (int) – maximum number of data-points to plot

  • time_slider (bool) – whether or not to have a time_slider-widget on cfp-plot INCREASES FILE-SIZE DRAMATICALLY

  • number_quantiles (int) – if use_timeslider is not off, defines the number of quantiles for the slider/ number of static pictures

  • timeslider_log (bool) – whether to use a logarithmic scale for the timeslider/quantiles

Returns

  • script (str) – script part of bokeh plot

  • div (str) – div part of bokeh plot

  • over_time_paths (List[str]) – list with paths to the different quantiled timesteps of the configurator run (for static evaluation)

classmethod check_for_bokeh(d)

Check if there is bokeh-plots in the output of this analyzer by checking the result-dictionary for the bokeh keyword.

get_html(d=None, tooltip=None)[source]

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

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

  • tooltip (string) – tooltip to be displayed in report. optional, will overwrite the docstrings that are used by default.

Returns

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

Return type

str, str

get_jupyter()[source]

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

get_name()[source]
get_plots()[source]
plot()[source]
plot_bokeh()

This function should recreate the bokeh-plot from scratch with as little overhead as possible. This is needed to show the bokeh plot in jupyter AND save it to the webpage. The bokeh plot needs to be recreated to be displayed in different outputs for reasons beyond out control. So save all analysis results in the class and simply redo the plotting with this function. This function needs to be called if bokeh-plots are to be displayed in notebook AND saved to html-result.