google-apis-bigquery_v2 0.25.0 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1207,6 +1207,32 @@ module Google
1207
1207
  end
1208
1208
  end
1209
1209
 
1210
+ #
1211
+ class CloneDefinition
1212
+ include Google::Apis::Core::Hashable
1213
+
1214
+ # [Required] Reference describing the ID of the table that was cloned.
1215
+ # Corresponds to the JSON property `baseTableReference`
1216
+ # @return [Google::Apis::BigqueryV2::TableReference]
1217
+ attr_accessor :base_table_reference
1218
+
1219
+ # [Required] The time at which the base table was cloned. This value is reported
1220
+ # in the JSON response using RFC3339 format.
1221
+ # Corresponds to the JSON property `cloneTime`
1222
+ # @return [DateTime]
1223
+ attr_accessor :clone_time
1224
+
1225
+ def initialize(**args)
1226
+ update!(**args)
1227
+ end
1228
+
1229
+ # Update properties of this object
1230
+ def update!(**args)
1231
+ @base_table_reference = args[:base_table_reference] if args.key?(:base_table_reference)
1232
+ @clone_time = args[:clone_time] if args.key?(:clone_time)
1233
+ end
1234
+ end
1235
+
1210
1236
  # Message containing the information about one cluster.
1211
1237
  class Cluster
1212
1238
  include Google::Apis::Core::Hashable
@@ -1469,6 +1495,11 @@ module Google
1469
1495
  # @return [Google::Apis::BigqueryV2::TableReference]
1470
1496
  attr_accessor :evaluation_table
1471
1497
 
1498
+ # Table reference of the test data after split.
1499
+ # Corresponds to the JSON property `testTable`
1500
+ # @return [Google::Apis::BigqueryV2::TableReference]
1501
+ attr_accessor :test_table
1502
+
1472
1503
  # Table reference of the training data after split.
1473
1504
  # Corresponds to the JSON property `trainingTable`
1474
1505
  # @return [Google::Apis::BigqueryV2::TableReference]
@@ -1481,6 +1512,7 @@ module Google
1481
1512
  # Update properties of this object
1482
1513
  def update!(**args)
1483
1514
  @evaluation_table = args[:evaluation_table] if args.key?(:evaluation_table)
1515
+ @test_table = args[:test_table] if args.key?(:test_table)
1484
1516
  @training_table = args[:training_table] if args.key?(:training_table)
1485
1517
  end
1486
1518
  end
@@ -1779,7 +1811,7 @@ module Google
1779
1811
  attr_accessor :dataset
1780
1812
 
1781
1813
  #
1782
- # Corresponds to the JSON property `target_types`
1814
+ # Corresponds to the JSON property `targetTypes`
1783
1815
  # @return [Array<String>]
1784
1816
  attr_accessor :target_types
1785
1817
 
@@ -1958,6 +1990,25 @@ module Google
1958
1990
  end
1959
1991
  end
1960
1992
 
1993
+ # Model evaluation metrics for dimensionality reduction models.
1994
+ class DimensionalityReductionMetrics
1995
+ include Google::Apis::Core::Hashable
1996
+
1997
+ # Total percentage of variance explained by the selected principal components.
1998
+ # Corresponds to the JSON property `totalExplainedVarianceRatio`
1999
+ # @return [Float]
2000
+ attr_accessor :total_explained_variance_ratio
2001
+
2002
+ def initialize(**args)
2003
+ update!(**args)
2004
+ end
2005
+
2006
+ # Update properties of this object
2007
+ def update!(**args)
2008
+ @total_explained_variance_ratio = args[:total_explained_variance_ratio] if args.key?(:total_explained_variance_ratio)
2009
+ end
2010
+ end
2011
+
1961
2012
  #
1962
2013
  class DmlStatistics
1963
2014
  include Google::Apis::Core::Hashable
@@ -1989,6 +2040,75 @@ module Google
1989
2040
  end
1990
2041
  end
1991
2042
 
2043
+ # Discrete candidates of a double hyperparameter.
2044
+ class DoubleCandidates
2045
+ include Google::Apis::Core::Hashable
2046
+
2047
+ # Candidates for the double parameter in increasing order.
2048
+ # Corresponds to the JSON property `candidates`
2049
+ # @return [Array<Float>]
2050
+ attr_accessor :candidates
2051
+
2052
+ def initialize(**args)
2053
+ update!(**args)
2054
+ end
2055
+
2056
+ # Update properties of this object
2057
+ def update!(**args)
2058
+ @candidates = args[:candidates] if args.key?(:candidates)
2059
+ end
2060
+ end
2061
+
2062
+ # Search space for a double hyperparameter.
2063
+ class DoubleHparamSearchSpace
2064
+ include Google::Apis::Core::Hashable
2065
+
2066
+ # Discrete candidates of a double hyperparameter.
2067
+ # Corresponds to the JSON property `candidates`
2068
+ # @return [Google::Apis::BigqueryV2::DoubleCandidates]
2069
+ attr_accessor :candidates
2070
+
2071
+ # Range of a double hyperparameter.
2072
+ # Corresponds to the JSON property `range`
2073
+ # @return [Google::Apis::BigqueryV2::DoubleRange]
2074
+ attr_accessor :range
2075
+
2076
+ def initialize(**args)
2077
+ update!(**args)
2078
+ end
2079
+
2080
+ # Update properties of this object
2081
+ def update!(**args)
2082
+ @candidates = args[:candidates] if args.key?(:candidates)
2083
+ @range = args[:range] if args.key?(:range)
2084
+ end
2085
+ end
2086
+
2087
+ # Range of a double hyperparameter.
2088
+ class DoubleRange
2089
+ include Google::Apis::Core::Hashable
2090
+
2091
+ # Max value of the double parameter.
2092
+ # Corresponds to the JSON property `max`
2093
+ # @return [Float]
2094
+ attr_accessor :max
2095
+
2096
+ # Min value of the double parameter.
2097
+ # Corresponds to the JSON property `min`
2098
+ # @return [Float]
2099
+ attr_accessor :min
2100
+
2101
+ def initialize(**args)
2102
+ update!(**args)
2103
+ end
2104
+
2105
+ # Update properties of this object
2106
+ def update!(**args)
2107
+ @max = args[:max] if args.key?(:max)
2108
+ @min = args[:min] if args.key?(:min)
2109
+ end
2110
+ end
2111
+
1992
2112
  #
1993
2113
  class EncryptionConfiguration
1994
2114
  include Google::Apis::Core::Hashable
@@ -2095,6 +2215,11 @@ module Google
2095
2215
  # @return [Google::Apis::BigqueryV2::ClusteringMetrics]
2096
2216
  attr_accessor :clustering_metrics
2097
2217
 
2218
+ # Model evaluation metrics for dimensionality reduction models.
2219
+ # Corresponds to the JSON property `dimensionalityReductionMetrics`
2220
+ # @return [Google::Apis::BigqueryV2::DimensionalityReductionMetrics]
2221
+ attr_accessor :dimensionality_reduction_metrics
2222
+
2098
2223
  # Evaluation metrics for multi-class classification/classifier models.
2099
2224
  # Corresponds to the JSON property `multiClassClassificationMetrics`
2100
2225
  # @return [Google::Apis::BigqueryV2::MultiClassClassificationMetrics]
@@ -2121,6 +2246,7 @@ module Google
2121
2246
  @arima_forecasting_metrics = args[:arima_forecasting_metrics] if args.key?(:arima_forecasting_metrics)
2122
2247
  @binary_classification_metrics = args[:binary_classification_metrics] if args.key?(:binary_classification_metrics)
2123
2248
  @clustering_metrics = args[:clustering_metrics] if args.key?(:clustering_metrics)
2249
+ @dimensionality_reduction_metrics = args[:dimensionality_reduction_metrics] if args.key?(:dimensionality_reduction_metrics)
2124
2250
  @multi_class_classification_metrics = args[:multi_class_classification_metrics] if args.key?(:multi_class_classification_metrics)
2125
2251
  @ranking_metrics = args[:ranking_metrics] if args.key?(:ranking_metrics)
2126
2252
  @regression_metrics = args[:regression_metrics] if args.key?(:regression_metrics)
@@ -2346,6 +2472,32 @@ module Google
2346
2472
  end
2347
2473
  end
2348
2474
 
2475
+ # Explanation for a single feature.
2476
+ class Explanation
2477
+ include Google::Apis::Core::Hashable
2478
+
2479
+ # Attribution of feature.
2480
+ # Corresponds to the JSON property `attribution`
2481
+ # @return [Float]
2482
+ attr_accessor :attribution
2483
+
2484
+ # Full name of the feature. For non-numerical features, will be formatted like ..
2485
+ # Overall size of feature name will always be truncated to first 120 characters.
2486
+ # Corresponds to the JSON property `featureName`
2487
+ # @return [String]
2488
+ attr_accessor :feature_name
2489
+
2490
+ def initialize(**args)
2491
+ update!(**args)
2492
+ end
2493
+
2494
+ # Update properties of this object
2495
+ def update!(**args)
2496
+ @attribution = args[:attribution] if args.key?(:attribution)
2497
+ @feature_name = args[:feature_name] if args.key?(:feature_name)
2498
+ end
2499
+ end
2500
+
2349
2501
  # Represents a textual expression in the Common Expression Language (CEL) syntax.
2350
2502
  # CEL is a C-like expression language. The syntax and semantics of CEL are
2351
2503
  # documented at https://github.com/google/cel-spec. Example (Comparison): title:
@@ -2753,6 +2905,34 @@ module Google
2753
2905
  end
2754
2906
  end
2755
2907
 
2908
+ # Global explanations containing the top most important features after training.
2909
+ class GlobalExplanation
2910
+ include Google::Apis::Core::Hashable
2911
+
2912
+ # Class label for this set of global explanations. Will be empty/null for binary
2913
+ # logistic and linear regression models. Sorted alphabetically in descending
2914
+ # order.
2915
+ # Corresponds to the JSON property `classLabel`
2916
+ # @return [String]
2917
+ attr_accessor :class_label
2918
+
2919
+ # A list of the top global explanations. Sorted by absolute value of attribution
2920
+ # in descending order.
2921
+ # Corresponds to the JSON property `explanations`
2922
+ # @return [Array<Google::Apis::BigqueryV2::Explanation>]
2923
+ attr_accessor :explanations
2924
+
2925
+ def initialize(**args)
2926
+ update!(**args)
2927
+ end
2928
+
2929
+ # Update properties of this object
2930
+ def update!(**args)
2931
+ @class_label = args[:class_label] if args.key?(:class_label)
2932
+ @explanations = args[:explanations] if args.key?(:explanations)
2933
+ end
2934
+ end
2935
+
2756
2936
  #
2757
2937
  class GoogleSheetsOptions
2758
2938
  include Google::Apis::Core::Hashable
@@ -2840,6 +3020,335 @@ module Google
2840
3020
  end
2841
3021
  end
2842
3022
 
3023
+ # Hyperparameter search spaces. These should be a subset of training_options.
3024
+ class HparamSearchSpaces
3025
+ include Google::Apis::Core::Hashable
3026
+
3027
+ # Search space for string and enum.
3028
+ # Corresponds to the JSON property `activationFn`
3029
+ # @return [Google::Apis::BigqueryV2::StringHparamSearchSpace]
3030
+ attr_accessor :activation_fn
3031
+
3032
+ # Search space for an int hyperparameter.
3033
+ # Corresponds to the JSON property `batchSize`
3034
+ # @return [Google::Apis::BigqueryV2::IntHparamSearchSpace]
3035
+ attr_accessor :batch_size
3036
+
3037
+ # Search space for string and enum.
3038
+ # Corresponds to the JSON property `boosterType`
3039
+ # @return [Google::Apis::BigqueryV2::StringHparamSearchSpace]
3040
+ attr_accessor :booster_type
3041
+
3042
+ # Search space for a double hyperparameter.
3043
+ # Corresponds to the JSON property `colsampleBylevel`
3044
+ # @return [Google::Apis::BigqueryV2::DoubleHparamSearchSpace]
3045
+ attr_accessor :colsample_bylevel
3046
+
3047
+ # Search space for a double hyperparameter.
3048
+ # Corresponds to the JSON property `colsampleBynode`
3049
+ # @return [Google::Apis::BigqueryV2::DoubleHparamSearchSpace]
3050
+ attr_accessor :colsample_bynode
3051
+
3052
+ # Search space for a double hyperparameter.
3053
+ # Corresponds to the JSON property `colsampleBytree`
3054
+ # @return [Google::Apis::BigqueryV2::DoubleHparamSearchSpace]
3055
+ attr_accessor :colsample_bytree
3056
+
3057
+ # Search space for string and enum.
3058
+ # Corresponds to the JSON property `dartNormalizeType`
3059
+ # @return [Google::Apis::BigqueryV2::StringHparamSearchSpace]
3060
+ attr_accessor :dart_normalize_type
3061
+
3062
+ # Search space for a double hyperparameter.
3063
+ # Corresponds to the JSON property `dropout`
3064
+ # @return [Google::Apis::BigqueryV2::DoubleHparamSearchSpace]
3065
+ attr_accessor :dropout
3066
+
3067
+ # Search space for int array.
3068
+ # Corresponds to the JSON property `hiddenUnits`
3069
+ # @return [Google::Apis::BigqueryV2::IntArrayHparamSearchSpace]
3070
+ attr_accessor :hidden_units
3071
+
3072
+ # Search space for a double hyperparameter.
3073
+ # Corresponds to the JSON property `l1Reg`
3074
+ # @return [Google::Apis::BigqueryV2::DoubleHparamSearchSpace]
3075
+ attr_accessor :l1_reg
3076
+
3077
+ # Search space for a double hyperparameter.
3078
+ # Corresponds to the JSON property `l2Reg`
3079
+ # @return [Google::Apis::BigqueryV2::DoubleHparamSearchSpace]
3080
+ attr_accessor :l2_reg
3081
+
3082
+ # Search space for a double hyperparameter.
3083
+ # Corresponds to the JSON property `learnRate`
3084
+ # @return [Google::Apis::BigqueryV2::DoubleHparamSearchSpace]
3085
+ attr_accessor :learn_rate
3086
+
3087
+ # Search space for an int hyperparameter.
3088
+ # Corresponds to the JSON property `maxTreeDepth`
3089
+ # @return [Google::Apis::BigqueryV2::IntHparamSearchSpace]
3090
+ attr_accessor :max_tree_depth
3091
+
3092
+ # Search space for a double hyperparameter.
3093
+ # Corresponds to the JSON property `minSplitLoss`
3094
+ # @return [Google::Apis::BigqueryV2::DoubleHparamSearchSpace]
3095
+ attr_accessor :min_split_loss
3096
+
3097
+ # Search space for an int hyperparameter.
3098
+ # Corresponds to the JSON property `minTreeChildWeight`
3099
+ # @return [Google::Apis::BigqueryV2::IntHparamSearchSpace]
3100
+ attr_accessor :min_tree_child_weight
3101
+
3102
+ # Search space for an int hyperparameter.
3103
+ # Corresponds to the JSON property `numClusters`
3104
+ # @return [Google::Apis::BigqueryV2::IntHparamSearchSpace]
3105
+ attr_accessor :num_clusters
3106
+
3107
+ # Search space for an int hyperparameter.
3108
+ # Corresponds to the JSON property `numFactors`
3109
+ # @return [Google::Apis::BigqueryV2::IntHparamSearchSpace]
3110
+ attr_accessor :num_factors
3111
+
3112
+ # Search space for an int hyperparameter.
3113
+ # Corresponds to the JSON property `numParallelTree`
3114
+ # @return [Google::Apis::BigqueryV2::IntHparamSearchSpace]
3115
+ attr_accessor :num_parallel_tree
3116
+
3117
+ # Search space for string and enum.
3118
+ # Corresponds to the JSON property `optimizer`
3119
+ # @return [Google::Apis::BigqueryV2::StringHparamSearchSpace]
3120
+ attr_accessor :optimizer
3121
+
3122
+ # Search space for a double hyperparameter.
3123
+ # Corresponds to the JSON property `subsample`
3124
+ # @return [Google::Apis::BigqueryV2::DoubleHparamSearchSpace]
3125
+ attr_accessor :subsample
3126
+
3127
+ # Search space for string and enum.
3128
+ # Corresponds to the JSON property `treeMethod`
3129
+ # @return [Google::Apis::BigqueryV2::StringHparamSearchSpace]
3130
+ attr_accessor :tree_method
3131
+
3132
+ # Search space for a double hyperparameter.
3133
+ # Corresponds to the JSON property `walsAlpha`
3134
+ # @return [Google::Apis::BigqueryV2::DoubleHparamSearchSpace]
3135
+ attr_accessor :wals_alpha
3136
+
3137
+ def initialize(**args)
3138
+ update!(**args)
3139
+ end
3140
+
3141
+ # Update properties of this object
3142
+ def update!(**args)
3143
+ @activation_fn = args[:activation_fn] if args.key?(:activation_fn)
3144
+ @batch_size = args[:batch_size] if args.key?(:batch_size)
3145
+ @booster_type = args[:booster_type] if args.key?(:booster_type)
3146
+ @colsample_bylevel = args[:colsample_bylevel] if args.key?(:colsample_bylevel)
3147
+ @colsample_bynode = args[:colsample_bynode] if args.key?(:colsample_bynode)
3148
+ @colsample_bytree = args[:colsample_bytree] if args.key?(:colsample_bytree)
3149
+ @dart_normalize_type = args[:dart_normalize_type] if args.key?(:dart_normalize_type)
3150
+ @dropout = args[:dropout] if args.key?(:dropout)
3151
+ @hidden_units = args[:hidden_units] if args.key?(:hidden_units)
3152
+ @l1_reg = args[:l1_reg] if args.key?(:l1_reg)
3153
+ @l2_reg = args[:l2_reg] if args.key?(:l2_reg)
3154
+ @learn_rate = args[:learn_rate] if args.key?(:learn_rate)
3155
+ @max_tree_depth = args[:max_tree_depth] if args.key?(:max_tree_depth)
3156
+ @min_split_loss = args[:min_split_loss] if args.key?(:min_split_loss)
3157
+ @min_tree_child_weight = args[:min_tree_child_weight] if args.key?(:min_tree_child_weight)
3158
+ @num_clusters = args[:num_clusters] if args.key?(:num_clusters)
3159
+ @num_factors = args[:num_factors] if args.key?(:num_factors)
3160
+ @num_parallel_tree = args[:num_parallel_tree] if args.key?(:num_parallel_tree)
3161
+ @optimizer = args[:optimizer] if args.key?(:optimizer)
3162
+ @subsample = args[:subsample] if args.key?(:subsample)
3163
+ @tree_method = args[:tree_method] if args.key?(:tree_method)
3164
+ @wals_alpha = args[:wals_alpha] if args.key?(:wals_alpha)
3165
+ end
3166
+ end
3167
+
3168
+ # Training info of a trial in hyperparameter tuning.
3169
+ class HparamTuningTrial
3170
+ include Google::Apis::Core::Hashable
3171
+
3172
+ # Ending time of the trial.
3173
+ # Corresponds to the JSON property `endTimeMs`
3174
+ # @return [Fixnum]
3175
+ attr_accessor :end_time_ms
3176
+
3177
+ # Error message for FAILED and INFEASIBLE trial.
3178
+ # Corresponds to the JSON property `errorMessage`
3179
+ # @return [String]
3180
+ attr_accessor :error_message
3181
+
3182
+ # Loss computed on the eval data at the end of trial.
3183
+ # Corresponds to the JSON property `evalLoss`
3184
+ # @return [Float]
3185
+ attr_accessor :eval_loss
3186
+
3187
+ # Evaluation metrics of a model. These are either computed on all training data
3188
+ # or just the eval data based on whether eval data was used during training.
3189
+ # These are not present for imported models.
3190
+ # Corresponds to the JSON property `evaluationMetrics`
3191
+ # @return [Google::Apis::BigqueryV2::EvaluationMetrics]
3192
+ attr_accessor :evaluation_metrics
3193
+
3194
+ # Evaluation metrics of a model. These are either computed on all training data
3195
+ # or just the eval data based on whether eval data was used during training.
3196
+ # These are not present for imported models.
3197
+ # Corresponds to the JSON property `hparamTuningEvaluationMetrics`
3198
+ # @return [Google::Apis::BigqueryV2::EvaluationMetrics]
3199
+ attr_accessor :hparam_tuning_evaluation_metrics
3200
+
3201
+ # Options used in model training.
3202
+ # Corresponds to the JSON property `hparams`
3203
+ # @return [Google::Apis::BigqueryV2::TrainingOptions]
3204
+ attr_accessor :hparams
3205
+
3206
+ # Starting time of the trial.
3207
+ # Corresponds to the JSON property `startTimeMs`
3208
+ # @return [Fixnum]
3209
+ attr_accessor :start_time_ms
3210
+
3211
+ # The status of the trial.
3212
+ # Corresponds to the JSON property `status`
3213
+ # @return [String]
3214
+ attr_accessor :status
3215
+
3216
+ # Loss computed on the training data at the end of trial.
3217
+ # Corresponds to the JSON property `trainingLoss`
3218
+ # @return [Float]
3219
+ attr_accessor :training_loss
3220
+
3221
+ # 1-based index of the trial.
3222
+ # Corresponds to the JSON property `trialId`
3223
+ # @return [Fixnum]
3224
+ attr_accessor :trial_id
3225
+
3226
+ def initialize(**args)
3227
+ update!(**args)
3228
+ end
3229
+
3230
+ # Update properties of this object
3231
+ def update!(**args)
3232
+ @end_time_ms = args[:end_time_ms] if args.key?(:end_time_ms)
3233
+ @error_message = args[:error_message] if args.key?(:error_message)
3234
+ @eval_loss = args[:eval_loss] if args.key?(:eval_loss)
3235
+ @evaluation_metrics = args[:evaluation_metrics] if args.key?(:evaluation_metrics)
3236
+ @hparam_tuning_evaluation_metrics = args[:hparam_tuning_evaluation_metrics] if args.key?(:hparam_tuning_evaluation_metrics)
3237
+ @hparams = args[:hparams] if args.key?(:hparams)
3238
+ @start_time_ms = args[:start_time_ms] if args.key?(:start_time_ms)
3239
+ @status = args[:status] if args.key?(:status)
3240
+ @training_loss = args[:training_loss] if args.key?(:training_loss)
3241
+ @trial_id = args[:trial_id] if args.key?(:trial_id)
3242
+ end
3243
+ end
3244
+
3245
+ # An array of int.
3246
+ class IntArray
3247
+ include Google::Apis::Core::Hashable
3248
+
3249
+ # Elements in the int array.
3250
+ # Corresponds to the JSON property `elements`
3251
+ # @return [Array<Fixnum>]
3252
+ attr_accessor :elements
3253
+
3254
+ def initialize(**args)
3255
+ update!(**args)
3256
+ end
3257
+
3258
+ # Update properties of this object
3259
+ def update!(**args)
3260
+ @elements = args[:elements] if args.key?(:elements)
3261
+ end
3262
+ end
3263
+
3264
+ # Search space for int array.
3265
+ class IntArrayHparamSearchSpace
3266
+ include Google::Apis::Core::Hashable
3267
+
3268
+ # Candidates for the int array parameter.
3269
+ # Corresponds to the JSON property `candidates`
3270
+ # @return [Array<Google::Apis::BigqueryV2::IntArray>]
3271
+ attr_accessor :candidates
3272
+
3273
+ def initialize(**args)
3274
+ update!(**args)
3275
+ end
3276
+
3277
+ # Update properties of this object
3278
+ def update!(**args)
3279
+ @candidates = args[:candidates] if args.key?(:candidates)
3280
+ end
3281
+ end
3282
+
3283
+ # Discrete candidates of an int hyperparameter.
3284
+ class IntCandidates
3285
+ include Google::Apis::Core::Hashable
3286
+
3287
+ # Candidates for the int parameter in increasing order.
3288
+ # Corresponds to the JSON property `candidates`
3289
+ # @return [Array<Fixnum>]
3290
+ attr_accessor :candidates
3291
+
3292
+ def initialize(**args)
3293
+ update!(**args)
3294
+ end
3295
+
3296
+ # Update properties of this object
3297
+ def update!(**args)
3298
+ @candidates = args[:candidates] if args.key?(:candidates)
3299
+ end
3300
+ end
3301
+
3302
+ # Search space for an int hyperparameter.
3303
+ class IntHparamSearchSpace
3304
+ include Google::Apis::Core::Hashable
3305
+
3306
+ # Discrete candidates of an int hyperparameter.
3307
+ # Corresponds to the JSON property `candidates`
3308
+ # @return [Google::Apis::BigqueryV2::IntCandidates]
3309
+ attr_accessor :candidates
3310
+
3311
+ # Range of an int hyperparameter.
3312
+ # Corresponds to the JSON property `range`
3313
+ # @return [Google::Apis::BigqueryV2::IntRange]
3314
+ attr_accessor :range
3315
+
3316
+ def initialize(**args)
3317
+ update!(**args)
3318
+ end
3319
+
3320
+ # Update properties of this object
3321
+ def update!(**args)
3322
+ @candidates = args[:candidates] if args.key?(:candidates)
3323
+ @range = args[:range] if args.key?(:range)
3324
+ end
3325
+ end
3326
+
3327
+ # Range of an int hyperparameter.
3328
+ class IntRange
3329
+ include Google::Apis::Core::Hashable
3330
+
3331
+ # Max value of the int parameter.
3332
+ # Corresponds to the JSON property `max`
3333
+ # @return [Fixnum]
3334
+ attr_accessor :max
3335
+
3336
+ # Min value of the int parameter.
3337
+ # Corresponds to the JSON property `min`
3338
+ # @return [Fixnum]
3339
+ attr_accessor :min
3340
+
3341
+ def initialize(**args)
3342
+ update!(**args)
3343
+ end
3344
+
3345
+ # Update properties of this object
3346
+ def update!(**args)
3347
+ @max = args[:max] if args.key?(:max)
3348
+ @min = args[:min] if args.key?(:min)
3349
+ end
3350
+ end
3351
+
2843
3352
  #
2844
3353
  class IterationResult
2845
3354
  include Google::Apis::Core::Hashable
@@ -4572,6 +5081,14 @@ module Google
4572
5081
  # @return [Fixnum]
4573
5082
  attr_accessor :creation_time
4574
5083
 
5084
+ # Output only. The default trial_id to use in TVFs when the trial_id is not
5085
+ # passed in. For single-objective hyperparameter tuning, this is the best trial
5086
+ # id. For multi-objective hyperparameter tuning, this is the smallest trial id
5087
+ # among all Pareto optimal trials.
5088
+ # Corresponds to the JSON property `defaultTrialId`
5089
+ # @return [Fixnum]
5090
+ attr_accessor :default_trial_id
5091
+
4575
5092
  # Optional. A user-friendly description of this model.
4576
5093
  # Corresponds to the JSON property `description`
4577
5094
  # @return [String]
@@ -4609,6 +5126,16 @@ module Google
4609
5126
  # @return [String]
4610
5127
  attr_accessor :friendly_name
4611
5128
 
5129
+ # Hyperparameter search spaces. These should be a subset of training_options.
5130
+ # Corresponds to the JSON property `hparamSearchSpaces`
5131
+ # @return [Google::Apis::BigqueryV2::HparamSearchSpaces]
5132
+ attr_accessor :hparam_search_spaces
5133
+
5134
+ # Output only. Trials of a hyperparameter tuning model sorted by trial_id.
5135
+ # Corresponds to the JSON property `hparamTrials`
5136
+ # @return [Array<Google::Apis::BigqueryV2::HparamTuningTrial>]
5137
+ attr_accessor :hparam_trials
5138
+
4612
5139
  # Output only. Label columns that were used to train this model. The output of
4613
5140
  # the model will have a "predicted_" prefix to these columns.
4614
5141
  # Corresponds to the JSON property `labelColumns`
@@ -4646,6 +5173,13 @@ module Google
4646
5173
  # @return [String]
4647
5174
  attr_accessor :model_type
4648
5175
 
5176
+ # Output only. For single-objective hyperparameter tuning, it only contains the
5177
+ # best trial. For multi-objective hyperparameter tuning, it contains all Pareto
5178
+ # optimal trials sorted by trial_id.
5179
+ # Corresponds to the JSON property `optimalTrialIds`
5180
+ # @return [Array<Fixnum>]
5181
+ attr_accessor :optimal_trial_ids
5182
+
4649
5183
  # Output only. Information for all training runs in increasing order of
4650
5184
  # start_time.
4651
5185
  # Corresponds to the JSON property `trainingRuns`
@@ -4660,18 +5194,22 @@ module Google
4660
5194
  def update!(**args)
4661
5195
  @best_trial_id = args[:best_trial_id] if args.key?(:best_trial_id)
4662
5196
  @creation_time = args[:creation_time] if args.key?(:creation_time)
5197
+ @default_trial_id = args[:default_trial_id] if args.key?(:default_trial_id)
4663
5198
  @description = args[:description] if args.key?(:description)
4664
5199
  @encryption_configuration = args[:encryption_configuration] if args.key?(:encryption_configuration)
4665
5200
  @etag = args[:etag] if args.key?(:etag)
4666
5201
  @expiration_time = args[:expiration_time] if args.key?(:expiration_time)
4667
5202
  @feature_columns = args[:feature_columns] if args.key?(:feature_columns)
4668
5203
  @friendly_name = args[:friendly_name] if args.key?(:friendly_name)
5204
+ @hparam_search_spaces = args[:hparam_search_spaces] if args.key?(:hparam_search_spaces)
5205
+ @hparam_trials = args[:hparam_trials] if args.key?(:hparam_trials)
4669
5206
  @label_columns = args[:label_columns] if args.key?(:label_columns)
4670
5207
  @labels = args[:labels] if args.key?(:labels)
4671
5208
  @last_modified_time = args[:last_modified_time] if args.key?(:last_modified_time)
4672
5209
  @location = args[:location] if args.key?(:location)
4673
5210
  @model_reference = args[:model_reference] if args.key?(:model_reference)
4674
5211
  @model_type = args[:model_type] if args.key?(:model_type)
5212
+ @optimal_trial_ids = args[:optimal_trial_ids] if args.key?(:optimal_trial_ids)
4675
5213
  @training_runs = args[:training_runs] if args.key?(:training_runs)
4676
5214
  end
4677
5215
  end
@@ -4924,6 +5462,45 @@ module Google
4924
5462
  end
4925
5463
  end
4926
5464
 
5465
+ # Principal component infos, used only for eigen decomposition based models, e.g.
5466
+ # , PCA. Ordered by explained_variance in the descending order.
5467
+ class PrincipalComponentInfo
5468
+ include Google::Apis::Core::Hashable
5469
+
5470
+ # The explained_variance is pre-ordered in the descending order to compute the
5471
+ # cumulative explained variance ratio.
5472
+ # Corresponds to the JSON property `cumulativeExplainedVarianceRatio`
5473
+ # @return [Float]
5474
+ attr_accessor :cumulative_explained_variance_ratio
5475
+
5476
+ # Explained variance by this principal component, which is simply the eigenvalue.
5477
+ # Corresponds to the JSON property `explainedVariance`
5478
+ # @return [Float]
5479
+ attr_accessor :explained_variance
5480
+
5481
+ # Explained_variance over the total explained variance.
5482
+ # Corresponds to the JSON property `explainedVarianceRatio`
5483
+ # @return [Float]
5484
+ attr_accessor :explained_variance_ratio
5485
+
5486
+ # Id of the principal component.
5487
+ # Corresponds to the JSON property `principalComponentId`
5488
+ # @return [Fixnum]
5489
+ attr_accessor :principal_component_id
5490
+
5491
+ def initialize(**args)
5492
+ update!(**args)
5493
+ end
5494
+
5495
+ # Update properties of this object
5496
+ def update!(**args)
5497
+ @cumulative_explained_variance_ratio = args[:cumulative_explained_variance_ratio] if args.key?(:cumulative_explained_variance_ratio)
5498
+ @explained_variance = args[:explained_variance] if args.key?(:explained_variance)
5499
+ @explained_variance_ratio = args[:explained_variance_ratio] if args.key?(:explained_variance_ratio)
5500
+ @principal_component_id = args[:principal_component_id] if args.key?(:principal_component_id)
5501
+ end
5502
+ end
5503
+
4927
5504
  #
4928
5505
  class ProjectList
4929
5506
  include Google::Apis::Core::Hashable
@@ -6228,10 +6805,34 @@ module Google
6228
6805
  end
6229
6806
  end
6230
6807
 
6808
+ # Search space for string and enum.
6809
+ class StringHparamSearchSpace
6810
+ include Google::Apis::Core::Hashable
6811
+
6812
+ # Canididates for the string or enum parameter in lower case.
6813
+ # Corresponds to the JSON property `candidates`
6814
+ # @return [Array<String>]
6815
+ attr_accessor :candidates
6816
+
6817
+ def initialize(**args)
6818
+ update!(**args)
6819
+ end
6820
+
6821
+ # Update properties of this object
6822
+ def update!(**args)
6823
+ @candidates = args[:candidates] if args.key?(:candidates)
6824
+ end
6825
+ end
6826
+
6231
6827
  #
6232
6828
  class Table
6233
6829
  include Google::Apis::Core::Hashable
6234
6830
 
6831
+ # [Output-only] Clone definition.
6832
+ # Corresponds to the JSON property `cloneDefinition`
6833
+ # @return [Google::Apis::BigqueryV2::CloneDefinition]
6834
+ attr_accessor :clone_definition
6835
+
6235
6836
  # [Beta] Clustering specification for the table. Must be specified with
6236
6837
  # partitioning, data in the table will be first partitioned and subsequently
6237
6838
  # clustered.
@@ -6424,6 +7025,7 @@ module Google
6424
7025
 
6425
7026
  # Update properties of this object
6426
7027
  def update!(**args)
7028
+ @clone_definition = args[:clone_definition] if args.key?(:clone_definition)
6427
7029
  @clustering = args[:clustering] if args.key?(:clustering)
6428
7030
  @creation_time = args[:creation_time] if args.key?(:creation_time)
6429
7031
  @default_collation = args[:default_collation] if args.key?(:default_collation)
@@ -7138,6 +7740,13 @@ module Google
7138
7740
  # @return [String]
7139
7741
  attr_accessor :booster_type
7140
7742
 
7743
+ # Whether or not p-value test should be computed for this model. Only available
7744
+ # for linear and logistic regression models.
7745
+ # Corresponds to the JSON property `calculatePValues`
7746
+ # @return [Boolean]
7747
+ attr_accessor :calculate_p_values
7748
+ alias_method :calculate_p_values?, :calculate_p_values
7749
+
7141
7750
  # If true, clean spikes and dips in the input time series.
7142
7751
  # Corresponds to the JSON property `cleanSpikesAndDips`
7143
7752
  # @return [Boolean]
@@ -7217,6 +7826,12 @@ module Google
7217
7826
  attr_accessor :early_stop
7218
7827
  alias_method :early_stop?, :early_stop
7219
7828
 
7829
+ # If true, enable global explanation during training.
7830
+ # Corresponds to the JSON property `enableGlobalExplain`
7831
+ # @return [Boolean]
7832
+ attr_accessor :enable_global_explain
7833
+ alias_method :enable_global_explain?, :enable_global_explain
7834
+
7220
7835
  # Feedback type that specifies which algorithm to run for matrix factorization.
7221
7836
  # Corresponds to the JSON property `feedbackType`
7222
7837
  # @return [String]
@@ -7239,6 +7854,11 @@ module Google
7239
7854
  # @return [Fixnum]
7240
7855
  attr_accessor :horizon
7241
7856
 
7857
+ # The target evaluation metrics to optimize the hyperparameters for.
7858
+ # Corresponds to the JSON property `hparamTuningObjectives`
7859
+ # @return [Array<String>]
7860
+ attr_accessor :hparam_tuning_objectives
7861
+
7242
7862
  # Include drift when fitting an ARIMA model.
7243
7863
  # Corresponds to the JSON property `includeDrift`
7244
7864
  # @return [Boolean]
@@ -7255,6 +7875,11 @@ module Google
7255
7875
  # @return [Array<String>]
7256
7876
  attr_accessor :input_label_columns
7257
7877
 
7878
+ # Number of integral steps for the integrated gradients explain method.
7879
+ # Corresponds to the JSON property `integratedGradientsNumSteps`
7880
+ # @return [Fixnum]
7881
+ attr_accessor :integrated_gradients_num_steps
7882
+
7258
7883
  # Item column specified for matrix factorization models.
7259
7884
  # Corresponds to the JSON property `itemColumn`
7260
7885
  # @return [String]
@@ -7308,6 +7933,11 @@ module Google
7308
7933
  # @return [Fixnum]
7309
7934
  attr_accessor :max_iterations
7310
7935
 
7936
+ # Maximum number of trials to run in parallel.
7937
+ # Corresponds to the JSON property `maxParallelTrials`
7938
+ # @return [Fixnum]
7939
+ attr_accessor :max_parallel_trials
7940
+
7311
7941
  # Maximum depth of a tree for boosted tree models.
7312
7942
  # Corresponds to the JSON property `maxTreeDepth`
7313
7943
  # @return [Fixnum]
@@ -7356,6 +7986,11 @@ module Google
7356
7986
  # @return [Fixnum]
7357
7987
  attr_accessor :num_parallel_tree
7358
7988
 
7989
+ # Number of trials to run this hyperparameter tuning job.
7990
+ # Corresponds to the JSON property `numTrials`
7991
+ # @return [Fixnum]
7992
+ attr_accessor :num_trials
7993
+
7359
7994
  # Optimization strategy for training linear regression models.
7360
7995
  # Corresponds to the JSON property `optimizationStrategy`
7361
7996
  # @return [String]
@@ -7369,6 +8004,11 @@ module Google
7369
8004
  attr_accessor :preserve_input_structs
7370
8005
  alias_method :preserve_input_structs?, :preserve_input_structs
7371
8006
 
8007
+ # Number of paths for the sampled shapley explain method.
8008
+ # Corresponds to the JSON property `sampledShapleyNumPaths`
8009
+ # @return [Fixnum]
8010
+ attr_accessor :sampled_shapley_num_paths
8011
+
7372
8012
  # Subsample fraction of the training data to grow tree to prevent overfitting
7373
8013
  # for boosted tree models.
7374
8014
  # Corresponds to the JSON property `subsample`
@@ -7427,6 +8067,7 @@ module Google
7427
8067
  @auto_arima_max_order = args[:auto_arima_max_order] if args.key?(:auto_arima_max_order)
7428
8068
  @batch_size = args[:batch_size] if args.key?(:batch_size)
7429
8069
  @booster_type = args[:booster_type] if args.key?(:booster_type)
8070
+ @calculate_p_values = args[:calculate_p_values] if args.key?(:calculate_p_values)
7430
8071
  @clean_spikes_and_dips = args[:clean_spikes_and_dips] if args.key?(:clean_spikes_and_dips)
7431
8072
  @colsample_bylevel = args[:colsample_bylevel] if args.key?(:colsample_bylevel)
7432
8073
  @colsample_bynode = args[:colsample_bynode] if args.key?(:colsample_bynode)
@@ -7440,13 +8081,16 @@ module Google
7440
8081
  @distance_type = args[:distance_type] if args.key?(:distance_type)
7441
8082
  @dropout = args[:dropout] if args.key?(:dropout)
7442
8083
  @early_stop = args[:early_stop] if args.key?(:early_stop)
8084
+ @enable_global_explain = args[:enable_global_explain] if args.key?(:enable_global_explain)
7443
8085
  @feedback_type = args[:feedback_type] if args.key?(:feedback_type)
7444
8086
  @hidden_units = args[:hidden_units] if args.key?(:hidden_units)
7445
8087
  @holiday_region = args[:holiday_region] if args.key?(:holiday_region)
7446
8088
  @horizon = args[:horizon] if args.key?(:horizon)
8089
+ @hparam_tuning_objectives = args[:hparam_tuning_objectives] if args.key?(:hparam_tuning_objectives)
7447
8090
  @include_drift = args[:include_drift] if args.key?(:include_drift)
7448
8091
  @initial_learn_rate = args[:initial_learn_rate] if args.key?(:initial_learn_rate)
7449
8092
  @input_label_columns = args[:input_label_columns] if args.key?(:input_label_columns)
8093
+ @integrated_gradients_num_steps = args[:integrated_gradients_num_steps] if args.key?(:integrated_gradients_num_steps)
7450
8094
  @item_column = args[:item_column] if args.key?(:item_column)
7451
8095
  @kmeans_initialization_column = args[:kmeans_initialization_column] if args.key?(:kmeans_initialization_column)
7452
8096
  @kmeans_initialization_method = args[:kmeans_initialization_method] if args.key?(:kmeans_initialization_method)
@@ -7457,6 +8101,7 @@ module Google
7457
8101
  @learn_rate_strategy = args[:learn_rate_strategy] if args.key?(:learn_rate_strategy)
7458
8102
  @loss_type = args[:loss_type] if args.key?(:loss_type)
7459
8103
  @max_iterations = args[:max_iterations] if args.key?(:max_iterations)
8104
+ @max_parallel_trials = args[:max_parallel_trials] if args.key?(:max_parallel_trials)
7460
8105
  @max_tree_depth = args[:max_tree_depth] if args.key?(:max_tree_depth)
7461
8106
  @min_relative_progress = args[:min_relative_progress] if args.key?(:min_relative_progress)
7462
8107
  @min_split_loss = args[:min_split_loss] if args.key?(:min_split_loss)
@@ -7466,8 +8111,10 @@ module Google
7466
8111
  @num_clusters = args[:num_clusters] if args.key?(:num_clusters)
7467
8112
  @num_factors = args[:num_factors] if args.key?(:num_factors)
7468
8113
  @num_parallel_tree = args[:num_parallel_tree] if args.key?(:num_parallel_tree)
8114
+ @num_trials = args[:num_trials] if args.key?(:num_trials)
7469
8115
  @optimization_strategy = args[:optimization_strategy] if args.key?(:optimization_strategy)
7470
8116
  @preserve_input_structs = args[:preserve_input_structs] if args.key?(:preserve_input_structs)
8117
+ @sampled_shapley_num_paths = args[:sampled_shapley_num_paths] if args.key?(:sampled_shapley_num_paths)
7471
8118
  @subsample = args[:subsample] if args.key?(:subsample)
7472
8119
  @time_series_data_column = args[:time_series_data_column] if args.key?(:time_series_data_column)
7473
8120
  @time_series_id_column = args[:time_series_id_column] if args.key?(:time_series_id_column)
@@ -7484,6 +8131,12 @@ module Google
7484
8131
  class TrainingRun
7485
8132
  include Google::Apis::Core::Hashable
7486
8133
 
8134
+ # Global explanation contains the explanation of top features on the class level.
8135
+ # Applies to classification models only.
8136
+ # Corresponds to the JSON property `classLevelGlobalExplanations`
8137
+ # @return [Array<Google::Apis::BigqueryV2::GlobalExplanation>]
8138
+ attr_accessor :class_level_global_explanations
8139
+
7487
8140
  # Data split result. This contains references to the training and evaluation
7488
8141
  # data tables that were used to train the model.
7489
8142
  # Corresponds to the JSON property `dataSplitResult`
@@ -7497,6 +8150,11 @@ module Google
7497
8150
  # @return [Google::Apis::BigqueryV2::EvaluationMetrics]
7498
8151
  attr_accessor :evaluation_metrics
7499
8152
 
8153
+ # Global explanations containing the top most important features after training.
8154
+ # Corresponds to the JSON property `modelLevelGlobalExplanation`
8155
+ # @return [Google::Apis::BigqueryV2::GlobalExplanation]
8156
+ attr_accessor :model_level_global_explanation
8157
+
7500
8158
  # Output of each iteration run, results.size() <= max_iterations.
7501
8159
  # Corresponds to the JSON property `results`
7502
8160
  # @return [Array<Google::Apis::BigqueryV2::IterationResult>]
@@ -7518,8 +8176,10 @@ module Google
7518
8176
 
7519
8177
  # Update properties of this object
7520
8178
  def update!(**args)
8179
+ @class_level_global_explanations = args[:class_level_global_explanations] if args.key?(:class_level_global_explanations)
7521
8180
  @data_split_result = args[:data_split_result] if args.key?(:data_split_result)
7522
8181
  @evaluation_metrics = args[:evaluation_metrics] if args.key?(:evaluation_metrics)
8182
+ @model_level_global_explanation = args[:model_level_global_explanation] if args.key?(:model_level_global_explanation)
7523
8183
  @results = args[:results] if args.key?(:results)
7524
8184
  @start_time = args[:start_time] if args.key?(:start_time)
7525
8185
  @training_options = args[:training_options] if args.key?(:training_options)