Add a warning on kriging-based surrogates being trained with multiple outputs #686
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The surrogate API of SMT allows to pass several training data outputs as some surrogates are able to handle them. Currently kriging-based models happen to swallow such data and provide a surrogate but this resulting surrogate might not be as good as if we train a dedicated surrogate for each output (as only one set of hyperameters is actually optimized, the detailed impact of multiple outputs still has to be investigated).
As it was reported though with multiple outputs the resulting surrogate could be "good enough", this PR just adds a warning when
set_training_values()
is used with multiple outputs. Still such usage is not currently recommended (at least without checking the surrogate quality properly) and this warning might become a hard error in the future.This PR relates to #679