gloss.surrogate — surrogate backends¶
GLOSS works with any model that exposes .fit(X, y) and .predict(X).
The submodules below provide convenience adapters around scikit-learn
ML models and PyTorch neural networks.
Auto-selection¶
- gloss.surrogate.auto_select.auto_select_surrogate(X, y, cv_folds=5, scoring='neg_root_mean_squared_error')[source]¶
Select the best surrogate model via cross-validation, retrain on all data.
- Parameters:
X – Training features, shape (n_samples, n_features).
y – Training targets, shape (n_samples,).
cv_folds – Number of CV folds.
scoring – sklearn scoring metric string.
- Returns:
Fitted model with predict(X) method.
ML models¶
NN models¶
- class gloss.surrogate.nn_models.NNRegressor[source]¶
Bases:
_BaseNNRegressorPlain feedforward neural network.
- set_score_request(*, sample_weight='$UNCHANGED$')¶
Configure whether metadata should be requested to be passed to the
scoremethod.Note that this method is only relevant when this estimator is used as a sub-estimator within a meta-estimator and metadata routing is enabled with
enable_metadata_routing=True(seesklearn.set_config()). Please check the User Guide on how the routing mechanism works.The options for each parameter are:
True: metadata is requested, and passed toscoreif provided. The request is ignored if metadata is not provided.False: metadata is not requested and the meta-estimator will not pass it toscore.None: metadata is not requested, and the meta-estimator will raise an error if the user provides it.str: metadata should be passed to the meta-estimator with this given alias instead of the original name.
The default (
sklearn.utils.metadata_routing.UNCHANGED) retains the existing request. This allows you to change the request for some parameters and not others.Added in version 1.3.
- Parameters:
sample_weight (str, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED) – Metadata routing for
sample_weightparameter inscore.self (NNRegressor)
- Returns:
self (object) – The updated object.
- Return type:
- class gloss.surrogate.nn_models.ResNetRegressor[source]¶
Bases:
_BaseNNRegressorResNet-style network with skip connections.
- set_score_request(*, sample_weight='$UNCHANGED$')¶
Configure whether metadata should be requested to be passed to the
scoremethod.Note that this method is only relevant when this estimator is used as a sub-estimator within a meta-estimator and metadata routing is enabled with
enable_metadata_routing=True(seesklearn.set_config()). Please check the User Guide on how the routing mechanism works.The options for each parameter are:
True: metadata is requested, and passed toscoreif provided. The request is ignored if metadata is not provided.False: metadata is not requested and the meta-estimator will not pass it toscore.None: metadata is not requested, and the meta-estimator will raise an error if the user provides it.str: metadata should be passed to the meta-estimator with this given alias instead of the original name.
The default (
sklearn.utils.metadata_routing.UNCHANGED) retains the existing request. This allows you to change the request for some parameters and not others.Added in version 1.3.
- Parameters:
sample_weight (str, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED) – Metadata routing for
sample_weightparameter inscore.self (ResNetRegressor)
- Returns:
self (object) – The updated object.
- Return type:
- class gloss.surrogate.nn_models.HighwayNNRegressor[source]¶
Bases:
_BaseNNRegressorHighway network with gated skip connections.
- set_score_request(*, sample_weight='$UNCHANGED$')¶
Configure whether metadata should be requested to be passed to the
scoremethod.Note that this method is only relevant when this estimator is used as a sub-estimator within a meta-estimator and metadata routing is enabled with
enable_metadata_routing=True(seesklearn.set_config()). Please check the User Guide on how the routing mechanism works.The options for each parameter are:
True: metadata is requested, and passed toscoreif provided. The request is ignored if metadata is not provided.False: metadata is not requested and the meta-estimator will not pass it toscore.None: metadata is not requested, and the meta-estimator will raise an error if the user provides it.str: metadata should be passed to the meta-estimator with this given alias instead of the original name.
The default (
sklearn.utils.metadata_routing.UNCHANGED) retains the existing request. This allows you to change the request for some parameters and not others.Added in version 1.3.
- Parameters:
sample_weight (str, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED) – Metadata routing for
sample_weightparameter inscore.self (HighwayNNRegressor)
- Returns:
self (object) – The updated object.
- Return type: