generate_and_evaluate#

obsidian.experiment.advanced_design.generate_and_evaluate(seed, n_samples, continuous_params, conditional_subparameters, subparam_mapping, continuous_keys, categorical_keys, metrics_to_optimize, n_category_trials=100, corr_threshold=0.01)[source]#

Generate a single candidate design and compute its quality metrics.

This function is a top-level callable so it can be pickled by ProcessPoolExecutor.

Parameters:
  • seed – Random seed for this candidate.

  • n_samples – Number of rows in the candidate design.

  • continuous_params – Continuous parameter specifications.

  • conditional_subparameters – Conditional subparameter specifications.

  • subparam_mapping – Subparameter mapping dict.

  • continuous_keys – List of continuous parameter column names.

  • categorical_keys – List of categorical column names.

  • metrics_to_optimize – List of metric names to compute.

  • n_category_trials – Passed to sample_design for category optimization. Defaults to 100.

  • corr_threshold – Passed to sample_design for category optimization. Defaults to 0.01.

Returns:

Contains 'seed', 'design', one key per metric, and

'metric_values' (list in the same order as metrics_to_optimize).

Return type:

dict