gcp_bigquery_client/model/
training_run.rs

1//! Information about a single training query run for the model.
2use crate::model::data_split_result::DataSplitResult;
3use crate::model::evaluation_metrics::EvaluationMetrics;
4use crate::model::global_explanation::GlobalExplanation;
5use crate::model::iteration_result::IterationResult;
6use crate::model::training_options::TrainingOptions;
7use time::OffsetDateTime;
8
9#[derive(Debug, Clone, Serialize, Deserialize)]
10#[serde(rename_all = "camelCase")]
11pub struct TrainingRun {
12    /// The evaluation metrics over training/eval data that were computed at the end of training.
13    pub evaluation_metrics: Option<EvaluationMetrics>,
14    /// The start time of this training run.
15    #[serde(with = "time::serde::rfc3339")]
16    pub start_time: OffsetDateTime,
17    /// Data split result of the training run. Only set when the input data is actually split.
18    pub data_split_result: Option<DataSplitResult>,
19    /// Options that were used for this training run, includes user specified and default options that were used.
20    pub training_options: Option<TrainingOptions>,
21    /// Global explanations for important features of the model. For multi-class models, there is one entry for each label class. For other models, there is only one entry in the list.
22    pub global_explanations: Option<Vec<GlobalExplanation>>,
23    /// Output of each iteration run, results.size() <= max_iterations.
24    pub results: Option<Vec<IterationResult>>,
25}
26
27impl Default for TrainingRun {
28    fn default() -> Self {
29        Self {
30            evaluation_metrics: None,
31            start_time: OffsetDateTime::now_utc(),
32            data_split_result: None,
33            training_options: None,
34            global_explanations: None,
35            results: None,
36        }
37    }
38}