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.