extend_design#

obsidian.experiment.advanced_design.extend_design(existing_design, n, continuous_params, conditional_subparameters, subparam_mapping=None, metrics_to_optimize=None, maximize_metrics=None, n_trials=10, seed_start=1000, max_workers=None, n_category_trials=100, corr_threshold=0.01)[source]#

Extend an existing design by finding the best set of n new samples from among multiple candidates evaluated in parallel.

Parameters:
  • existing_design – DataFrame of the existing design.

  • n – Number of new samples to add.

  • continuous_params – Continuous parameter specifications.

  • conditional_subparameters – Conditional subparameter specifications.

  • subparam_mapping – Subparameter mapping dict. Inferred if not provided.

  • metrics_to_optimize – List of metric names. Defaults to all seven standard metrics.

  • maximize_metrics – List of booleans indicating direction for each metric. Defaults to [True, False, False, ...].

  • n_trials – Number of candidate extensions to evaluate. Defaults to 10.

  • seed_start – Starting seed for candidate generation. Defaults to 1000.

  • max_workers – Maximum worker processes. Defaults to None (all CPUs).

  • n_category_trials – Forwarded to each worker’s sample_design call. Defaults to 100.

  • corr_threshold – Forwarded to each worker’s sample_design call. Defaults to 0.01.

Returns:

(extended_design, metrics_summary) where extended_design

contains all original rows plus the best new rows, and metrics_summary is a pd.DataFrame of candidate scores.

Return type:

tuple