google-apis-bigquery_v2 0.25.0 → 0.26.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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)