class summit.experiment.Experiment(domain, **kwargs)[source]

Base class for experiments


domain (summit.domain.Domain) – The domain of the experiment


Developers that subclass Experiment need to implement _run, which runs the experiments.

property data

Datast of all experiments run

property domain

The domain for the experiment

pareto_plot(objectives=None, colorbar=False, ax=None)[source]

Make a 2D pareto plot of the experiments thus far

  • objectives (array-like, optional) – List of names of objectives to plot. By default picks the first two objectives

  • ax (matplotlib.pyplot.axes, optional) – An existing axis to apply the plot to


  • if ax is None returns a tuple with the first component

  • as the a new figure and the second component the axis

  • if ax is a matplotlib axis, returns only the axis


ValueError – If the number of objectives is not equal to two


Reset the experiment

This will clear all data.

run_experiments(conditions, computation_time=None, **kwargs)[source]

Run the experiment(s) at the given conditions

  • conditions (summit.utils.dataset.Dataset) – A dataset with columns matching the variables in the domain of a experiment(s) to run.

  • computation_time (float, optional) – The time used by the strategy in calculating the next experiments. By default, the time since the last call to run_experiment is used.


Serialize the class to a dictionary

Subclasses can add a experiment_params dictionary key with custom parameters for the experiment