4.8. Hint Reference

This section documents the hints used in smart model training (see section Smart Training).


@GTApprox/Accelerator

Sets user requirements to surrogate model

Value:integer in range [1, 5]
Default:1

See section Training Features for details.

@GTApprox/AcceptableQualityLevel

Sets the upper bound for the approximation error of the model.

Value:float in range [0, inf]
Default:depends on the selected error metric (see @GTApprox/QualityMetrics): 0.001 for RRMS, 0.999 for \(R^2\), 0.0 for other metrics

See section Training Features for details.

@GTApprox/DataFeatures

Special features of data set and underlying dependency.

Value:list of values from the following set: "Discontinuous", "Linear", "Quadratic", "DependentOutputs", "TensorStructure"
Default:[]

See section Additional Data Properties for details.

@GTApprox/EnabledTechniques

Specifies the approximation techniques, which GTApprox can use in smart training.

Value:list of values from the following set: "RSM", "SPLT", "TA", "TGP", "iTA", "GP", "SGP", "PLA", "GBRT", "HDA", "MoA", "HDAGP"
Default:[]

This hint cannot be used if the GTApprox/Technique option is not default. See section Training Features for details.

@GTApprox/ModelFeatures

Sets user requirements to surrogate model.

Value:list of values from the following set: "AccuracyEvaluation", "Smooth", "ExactFit", "Gradient"
Default:[]

Changed in version 6.30: added the "Gradient" value, used to add a requirement for gradients support.

See section Model Features for details.

@GTApprox/QualityMetrics

Sets the type of quality metrics that should be taken into account during selection of the model.

Value:"RRMS", "RMS", "R^2", "Mean", "Median", "Q_0.95", "Q_0.99", or "Max"
Default:"RRMS"

Changed in version 6.8: added the \(R^2\) error metric ("R^2").

See section Training Features for details.

@GTApprox/TimeLimit

Soft limit for the total training time, seconds.

Value:positive integer or 0
Default:0 (no limit)

New in version 6.7.

Sets a time limit for smart training. Note that this limit can be violated to a certain extent; see section Training Features for details. Default (0) means no limit.

@GTApprox/TrainingSubsampleRatio

Specifies the fraction of the initial sample to include in the training sample.

Value:float in range [0, 1]
Default:0

Changed in version 6.16: allowed 0 value, which is now default and means that the sample is split by ratio determined automatically.

See section Training Features for more details.

@GTApprox/TryOutputTransformations

Try training and comparing versions of the model with and without log transformation applied to the training sample output data.

Value:True (enable) or False (disable)
Default:False (disable)

New in version 6.15.

When enabled (True), GTApprox trains different versions of the model as follows:

  1. The training sample is pre-processed as described in section Sample Cleanup, removing duplicates and other invalid data. A model is trained using the pre-processed data. All other settings related to sample data processing apply normally.
  2. The training sample is pre-processed, removing invalid data. Then, log transformation is applied to the output data — this might improve the model accuracy, if the output values are exponentially distributed. A model is trained using the transformed data. All other settings related to sample data processing apply normally.

The best model is then selected among the model versions trained with and without the data transformation.

Enabling @GTApprox/TryOutputTransformations (True) enables the transformation feature for all outputs by default, which can noticeably increase the training time — up to doubling the time if compared to training with @GTApprox/TryOutputTransformations disabled (False), considering other settings the same in both cases. If you want to enable @GTApprox/TryOutputTransformations but avoid testing the transformation for every output, you can additionally set the GTApprox/OutputTransformation option (use its list form). Combined with the @GTApprox/TryOutputTransformations hint enabled, that option settings work as follows:

  • "none": prohibit transformation for the corresponding output. In all trained model versions, data transformation does not apply to that output.
  • "lnp1": require transformation for the corresponding output. In all trained model versions, log transformation is applied to that output.
  • "auto": try log transformation for the corresponding output. In different model versions, different transformation settings are applied to that output.
  • "": same as "auto", supported for compatibility with the default option value.

Note that if you set the GTApprox/OutputTransformation option in smart training (build_smart()) but do not set the @GTApprox/TryOutputTransformations hint, or set this hint to False, then the behavior of that option is the same as in manual training (build()). In particular, "auto" does not enable trying the different transformation settings but runs a statistical test, which determines whether transformation should be applied to the output configured with the "auto" setting (see the GTApprox/OutputTransformation option description for details).