ModelΒΆ

The BaseModel is an abstract base class that defines the interface for all models in the framework. Models can serve multiple roles: as surrogate models (wrapped by Surrogate to approximate expensive experimental evaluations), as oracle models (wrapped by Oracle for online evaluation), or as generator models (wrapped by GeneratorSearch to sample candidate sequences).

All concrete model implementations must inherit from BaseModel and implement the abstract methods: featurise(), train(), predict(), and sample().

After setup() is called with a dataset, the model exposes two attributes derived from the dataset config: problem_type (the ProblemType enum value) and output_dim (the number of output neurons β€” 1 for regression and binary classification, num_classes for multiclass).

The BaseTrainConfig dataclass provides shared training fields β€” including normalise_inputs_strategy and standardise_outputs β€” that all concrete training configs inherit from.