Skip to content

Surrogate

Surrogate model training, ensemble management, and uncertainty quantification.

TrainingConfig

surrox.TrainingConfig

Bases: BaseModel

Configuration for surrogate model training.

Attributes:

Name Type Description
n_trials int

Number of Optuna HPO trials per surrogate.

cv_folds int

Number of cross-validation folds.

calibration_fraction float

Fraction of data held out for conformal calibration.

ensemble_size int

Maximum number of models in the ensemble.

diversity_threshold float

Maximum correlation allowed between ensemble members.

softmax_temperature float

Temperature for softmax ensemble weight selection.

default_coverage float

Default conformal prediction interval coverage (0–1).

estimator_families tuple[EstimatorFamily, ...]

Estimator families to search over (XGBoost, LightGBM).

n_threads int | None

Thread limit per model. None uses all available cores.

study_timeout_s int

Optuna study timeout in seconds.

min_r2 float | None

Minimum R² threshold for model quality. None disables the check.

random_seed int

Random seed for reproducibility.

SurrogateManager

surrox.SurrogateManager(problem, config, surrogates, dataset_fingerprint)

Manages trained surrogate ensembles for all target columns.

Provides prediction, uncertainty quantification, and persistence. Created via the train class method or loaded from disk via load.