google-apis-bigquery_v2 0.24.0 → 0.27.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
@@ -3279,6 +3788,14 @@ module Google
3279
3788
  # @return [Google::Apis::BigqueryV2::ParquetOptions]
3280
3789
  attr_accessor :parquet_options
3281
3790
 
3791
+ # [Optional] Preserves the embedded ASCII control characters (the first 32
3792
+ # characters in the ASCII-table, from '\x00' to '\x1F') when loading from CSV.
3793
+ # Only applicable to CSV, ignored for other formats.
3794
+ # Corresponds to the JSON property `preserveAsciiControlCharacters`
3795
+ # @return [Boolean]
3796
+ attr_accessor :preserve_ascii_control_characters
3797
+ alias_method :preserve_ascii_control_characters?, :preserve_ascii_control_characters
3798
+
3282
3799
  # If sourceFormat is set to "DATASTORE_BACKUP", indicates which entity
3283
3800
  # properties to load into BigQuery from a Cloud Datastore backup. Property names
3284
3801
  # are case sensitive and must be top-level properties. If no properties are
@@ -3411,6 +3928,7 @@ module Google
3411
3928
  @max_bad_records = args[:max_bad_records] if args.key?(:max_bad_records)
3412
3929
  @null_marker = args[:null_marker] if args.key?(:null_marker)
3413
3930
  @parquet_options = args[:parquet_options] if args.key?(:parquet_options)
3931
+ @preserve_ascii_control_characters = args[:preserve_ascii_control_characters] if args.key?(:preserve_ascii_control_characters)
3414
3932
  @projection_fields = args[:projection_fields] if args.key?(:projection_fields)
3415
3933
  @quote = args[:quote] if args.key?(:quote)
3416
3934
  @range_partitioning = args[:range_partitioning] if args.key?(:range_partitioning)
@@ -3867,6 +4385,11 @@ module Google
3867
4385
  # @return [Float]
3868
4386
  attr_accessor :completion_ratio
3869
4387
 
4388
+ # [Output-only] Statistics for a copy job.
4389
+ # Corresponds to the JSON property `copy`
4390
+ # @return [Google::Apis::BigqueryV2::JobStatistics5]
4391
+ attr_accessor :copy
4392
+
3870
4393
  # [Output-only] Creation time of this job, in milliseconds since the epoch. This
3871
4394
  # field will be present on all jobs.
3872
4395
  # Corresponds to the JSON property `creationTime`
@@ -3968,6 +4491,7 @@ module Google
3968
4491
  # Update properties of this object
3969
4492
  def update!(**args)
3970
4493
  @completion_ratio = args[:completion_ratio] if args.key?(:completion_ratio)
4494
+ @copy = args[:copy] if args.key?(:copy)
3971
4495
  @creation_time = args[:creation_time] if args.key?(:creation_time)
3972
4496
  @end_time = args[:end_time] if args.key?(:end_time)
3973
4497
  @extract = args[:extract] if args.key?(:extract)
@@ -4346,6 +4870,31 @@ module Google
4346
4870
  end
4347
4871
  end
4348
4872
 
4873
+ #
4874
+ class JobStatistics5
4875
+ include Google::Apis::Core::Hashable
4876
+
4877
+ # [Output-only] Number of logical bytes copied to the destination table.
4878
+ # Corresponds to the JSON property `copied_logical_bytes`
4879
+ # @return [Fixnum]
4880
+ attr_accessor :copied_logical_bytes
4881
+
4882
+ # [Output-only] Number of rows copied to the destination table.
4883
+ # Corresponds to the JSON property `copied_rows`
4884
+ # @return [Fixnum]
4885
+ attr_accessor :copied_rows
4886
+
4887
+ def initialize(**args)
4888
+ update!(**args)
4889
+ end
4890
+
4891
+ # Update properties of this object
4892
+ def update!(**args)
4893
+ @copied_logical_bytes = args[:copied_logical_bytes] if args.key?(:copied_logical_bytes)
4894
+ @copied_rows = args[:copied_rows] if args.key?(:copied_rows)
4895
+ end
4896
+ end
4897
+
4349
4898
  #
4350
4899
  class JobStatus
4351
4900
  include Google::Apis::Core::Hashable
@@ -4563,6 +5112,14 @@ module Google
4563
5112
  # @return [Fixnum]
4564
5113
  attr_accessor :creation_time
4565
5114
 
5115
+ # Output only. The default trial_id to use in TVFs when the trial_id is not
5116
+ # passed in. For single-objective hyperparameter tuning, this is the best trial
5117
+ # id. For multi-objective hyperparameter tuning, this is the smallest trial id
5118
+ # among all Pareto optimal trials.
5119
+ # Corresponds to the JSON property `defaultTrialId`
5120
+ # @return [Fixnum]
5121
+ attr_accessor :default_trial_id
5122
+
4566
5123
  # Optional. A user-friendly description of this model.
4567
5124
  # Corresponds to the JSON property `description`
4568
5125
  # @return [String]
@@ -4600,6 +5157,16 @@ module Google
4600
5157
  # @return [String]
4601
5158
  attr_accessor :friendly_name
4602
5159
 
5160
+ # Hyperparameter search spaces. These should be a subset of training_options.
5161
+ # Corresponds to the JSON property `hparamSearchSpaces`
5162
+ # @return [Google::Apis::BigqueryV2::HparamSearchSpaces]
5163
+ attr_accessor :hparam_search_spaces
5164
+
5165
+ # Output only. Trials of a hyperparameter tuning model sorted by trial_id.
5166
+ # Corresponds to the JSON property `hparamTrials`
5167
+ # @return [Array<Google::Apis::BigqueryV2::HparamTuningTrial>]
5168
+ attr_accessor :hparam_trials
5169
+
4603
5170
  # Output only. Label columns that were used to train this model. The output of
4604
5171
  # the model will have a "predicted_" prefix to these columns.
4605
5172
  # Corresponds to the JSON property `labelColumns`
@@ -4637,6 +5204,13 @@ module Google
4637
5204
  # @return [String]
4638
5205
  attr_accessor :model_type
4639
5206
 
5207
+ # Output only. For single-objective hyperparameter tuning, it only contains the
5208
+ # best trial. For multi-objective hyperparameter tuning, it contains all Pareto
5209
+ # optimal trials sorted by trial_id.
5210
+ # Corresponds to the JSON property `optimalTrialIds`
5211
+ # @return [Array<Fixnum>]
5212
+ attr_accessor :optimal_trial_ids
5213
+
4640
5214
  # Output only. Information for all training runs in increasing order of
4641
5215
  # start_time.
4642
5216
  # Corresponds to the JSON property `trainingRuns`
@@ -4651,18 +5225,22 @@ module Google
4651
5225
  def update!(**args)
4652
5226
  @best_trial_id = args[:best_trial_id] if args.key?(:best_trial_id)
4653
5227
  @creation_time = args[:creation_time] if args.key?(:creation_time)
5228
+ @default_trial_id = args[:default_trial_id] if args.key?(:default_trial_id)
4654
5229
  @description = args[:description] if args.key?(:description)
4655
5230
  @encryption_configuration = args[:encryption_configuration] if args.key?(:encryption_configuration)
4656
5231
  @etag = args[:etag] if args.key?(:etag)
4657
5232
  @expiration_time = args[:expiration_time] if args.key?(:expiration_time)
4658
5233
  @feature_columns = args[:feature_columns] if args.key?(:feature_columns)
4659
5234
  @friendly_name = args[:friendly_name] if args.key?(:friendly_name)
5235
+ @hparam_search_spaces = args[:hparam_search_spaces] if args.key?(:hparam_search_spaces)
5236
+ @hparam_trials = args[:hparam_trials] if args.key?(:hparam_trials)
4660
5237
  @label_columns = args[:label_columns] if args.key?(:label_columns)
4661
5238
  @labels = args[:labels] if args.key?(:labels)
4662
5239
  @last_modified_time = args[:last_modified_time] if args.key?(:last_modified_time)
4663
5240
  @location = args[:location] if args.key?(:location)
4664
5241
  @model_reference = args[:model_reference] if args.key?(:model_reference)
4665
5242
  @model_type = args[:model_type] if args.key?(:model_type)
5243
+ @optimal_trial_ids = args[:optimal_trial_ids] if args.key?(:optimal_trial_ids)
4666
5244
  @training_runs = args[:training_runs] if args.key?(:training_runs)
4667
5245
  end
4668
5246
  end
@@ -4915,6 +5493,45 @@ module Google
4915
5493
  end
4916
5494
  end
4917
5495
 
5496
+ # Principal component infos, used only for eigen decomposition based models, e.g.
5497
+ # , PCA. Ordered by explained_variance in the descending order.
5498
+ class PrincipalComponentInfo
5499
+ include Google::Apis::Core::Hashable
5500
+
5501
+ # The explained_variance is pre-ordered in the descending order to compute the
5502
+ # cumulative explained variance ratio.
5503
+ # Corresponds to the JSON property `cumulativeExplainedVarianceRatio`
5504
+ # @return [Float]
5505
+ attr_accessor :cumulative_explained_variance_ratio
5506
+
5507
+ # Explained variance by this principal component, which is simply the eigenvalue.
5508
+ # Corresponds to the JSON property `explainedVariance`
5509
+ # @return [Float]
5510
+ attr_accessor :explained_variance
5511
+
5512
+ # Explained_variance over the total explained variance.
5513
+ # Corresponds to the JSON property `explainedVarianceRatio`
5514
+ # @return [Float]
5515
+ attr_accessor :explained_variance_ratio
5516
+
5517
+ # Id of the principal component.
5518
+ # Corresponds to the JSON property `principalComponentId`
5519
+ # @return [Fixnum]
5520
+ attr_accessor :principal_component_id
5521
+
5522
+ def initialize(**args)
5523
+ update!(**args)
5524
+ end
5525
+
5526
+ # Update properties of this object
5527
+ def update!(**args)
5528
+ @cumulative_explained_variance_ratio = args[:cumulative_explained_variance_ratio] if args.key?(:cumulative_explained_variance_ratio)
5529
+ @explained_variance = args[:explained_variance] if args.key?(:explained_variance)
5530
+ @explained_variance_ratio = args[:explained_variance_ratio] if args.key?(:explained_variance_ratio)
5531
+ @principal_component_id = args[:principal_component_id] if args.key?(:principal_component_id)
5532
+ end
5533
+ end
5534
+
4918
5535
  #
4919
5536
  class ProjectList
4920
5537
  include Google::Apis::Core::Hashable
@@ -6219,10 +6836,34 @@ module Google
6219
6836
  end
6220
6837
  end
6221
6838
 
6839
+ # Search space for string and enum.
6840
+ class StringHparamSearchSpace
6841
+ include Google::Apis::Core::Hashable
6842
+
6843
+ # Canididates for the string or enum parameter in lower case.
6844
+ # Corresponds to the JSON property `candidates`
6845
+ # @return [Array<String>]
6846
+ attr_accessor :candidates
6847
+
6848
+ def initialize(**args)
6849
+ update!(**args)
6850
+ end
6851
+
6852
+ # Update properties of this object
6853
+ def update!(**args)
6854
+ @candidates = args[:candidates] if args.key?(:candidates)
6855
+ end
6856
+ end
6857
+
6222
6858
  #
6223
6859
  class Table
6224
6860
  include Google::Apis::Core::Hashable
6225
6861
 
6862
+ # [Output-only] Clone definition.
6863
+ # Corresponds to the JSON property `cloneDefinition`
6864
+ # @return [Google::Apis::BigqueryV2::CloneDefinition]
6865
+ attr_accessor :clone_definition
6866
+
6226
6867
  # [Beta] Clustering specification for the table. Must be specified with
6227
6868
  # partitioning, data in the table will be first partitioned and subsequently
6228
6869
  # clustered.
@@ -6415,6 +7056,7 @@ module Google
6415
7056
 
6416
7057
  # Update properties of this object
6417
7058
  def update!(**args)
7059
+ @clone_definition = args[:clone_definition] if args.key?(:clone_definition)
6418
7060
  @clustering = args[:clustering] if args.key?(:clustering)
6419
7061
  @creation_time = args[:creation_time] if args.key?(:creation_time)
6420
7062
  @default_collation = args[:default_collation] if args.key?(:default_collation)
@@ -7129,6 +7771,13 @@ module Google
7129
7771
  # @return [String]
7130
7772
  attr_accessor :booster_type
7131
7773
 
7774
+ # Whether or not p-value test should be computed for this model. Only available
7775
+ # for linear and logistic regression models.
7776
+ # Corresponds to the JSON property `calculatePValues`
7777
+ # @return [Boolean]
7778
+ attr_accessor :calculate_p_values
7779
+ alias_method :calculate_p_values?, :calculate_p_values
7780
+
7132
7781
  # If true, clean spikes and dips in the input time series.
7133
7782
  # Corresponds to the JSON property `cleanSpikesAndDips`
7134
7783
  # @return [Boolean]
@@ -7208,6 +7857,12 @@ module Google
7208
7857
  attr_accessor :early_stop
7209
7858
  alias_method :early_stop?, :early_stop
7210
7859
 
7860
+ # If true, enable global explanation during training.
7861
+ # Corresponds to the JSON property `enableGlobalExplain`
7862
+ # @return [Boolean]
7863
+ attr_accessor :enable_global_explain
7864
+ alias_method :enable_global_explain?, :enable_global_explain
7865
+
7211
7866
  # Feedback type that specifies which algorithm to run for matrix factorization.
7212
7867
  # Corresponds to the JSON property `feedbackType`
7213
7868
  # @return [String]
@@ -7230,6 +7885,11 @@ module Google
7230
7885
  # @return [Fixnum]
7231
7886
  attr_accessor :horizon
7232
7887
 
7888
+ # The target evaluation metrics to optimize the hyperparameters for.
7889
+ # Corresponds to the JSON property `hparamTuningObjectives`
7890
+ # @return [Array<String>]
7891
+ attr_accessor :hparam_tuning_objectives
7892
+
7233
7893
  # Include drift when fitting an ARIMA model.
7234
7894
  # Corresponds to the JSON property `includeDrift`
7235
7895
  # @return [Boolean]
@@ -7246,6 +7906,11 @@ module Google
7246
7906
  # @return [Array<String>]
7247
7907
  attr_accessor :input_label_columns
7248
7908
 
7909
+ # Number of integral steps for the integrated gradients explain method.
7910
+ # Corresponds to the JSON property `integratedGradientsNumSteps`
7911
+ # @return [Fixnum]
7912
+ attr_accessor :integrated_gradients_num_steps
7913
+
7249
7914
  # Item column specified for matrix factorization models.
7250
7915
  # Corresponds to the JSON property `itemColumn`
7251
7916
  # @return [String]
@@ -7299,6 +7964,11 @@ module Google
7299
7964
  # @return [Fixnum]
7300
7965
  attr_accessor :max_iterations
7301
7966
 
7967
+ # Maximum number of trials to run in parallel.
7968
+ # Corresponds to the JSON property `maxParallelTrials`
7969
+ # @return [Fixnum]
7970
+ attr_accessor :max_parallel_trials
7971
+
7302
7972
  # Maximum depth of a tree for boosted tree models.
7303
7973
  # Corresponds to the JSON property `maxTreeDepth`
7304
7974
  # @return [Fixnum]
@@ -7347,6 +8017,11 @@ module Google
7347
8017
  # @return [Fixnum]
7348
8018
  attr_accessor :num_parallel_tree
7349
8019
 
8020
+ # Number of trials to run this hyperparameter tuning job.
8021
+ # Corresponds to the JSON property `numTrials`
8022
+ # @return [Fixnum]
8023
+ attr_accessor :num_trials
8024
+
7350
8025
  # Optimization strategy for training linear regression models.
7351
8026
  # Corresponds to the JSON property `optimizationStrategy`
7352
8027
  # @return [String]
@@ -7360,6 +8035,11 @@ module Google
7360
8035
  attr_accessor :preserve_input_structs
7361
8036
  alias_method :preserve_input_structs?, :preserve_input_structs
7362
8037
 
8038
+ # Number of paths for the sampled shapley explain method.
8039
+ # Corresponds to the JSON property `sampledShapleyNumPaths`
8040
+ # @return [Fixnum]
8041
+ attr_accessor :sampled_shapley_num_paths
8042
+
7363
8043
  # Subsample fraction of the training data to grow tree to prevent overfitting
7364
8044
  # for boosted tree models.
7365
8045
  # Corresponds to the JSON property `subsample`
@@ -7418,6 +8098,7 @@ module Google
7418
8098
  @auto_arima_max_order = args[:auto_arima_max_order] if args.key?(:auto_arima_max_order)
7419
8099
  @batch_size = args[:batch_size] if args.key?(:batch_size)
7420
8100
  @booster_type = args[:booster_type] if args.key?(:booster_type)
8101
+ @calculate_p_values = args[:calculate_p_values] if args.key?(:calculate_p_values)
7421
8102
  @clean_spikes_and_dips = args[:clean_spikes_and_dips] if args.key?(:clean_spikes_and_dips)
7422
8103
  @colsample_bylevel = args[:colsample_bylevel] if args.key?(:colsample_bylevel)
7423
8104
  @colsample_bynode = args[:colsample_bynode] if args.key?(:colsample_bynode)
@@ -7431,13 +8112,16 @@ module Google
7431
8112
  @distance_type = args[:distance_type] if args.key?(:distance_type)
7432
8113
  @dropout = args[:dropout] if args.key?(:dropout)
7433
8114
  @early_stop = args[:early_stop] if args.key?(:early_stop)
8115
+ @enable_global_explain = args[:enable_global_explain] if args.key?(:enable_global_explain)
7434
8116
  @feedback_type = args[:feedback_type] if args.key?(:feedback_type)
7435
8117
  @hidden_units = args[:hidden_units] if args.key?(:hidden_units)
7436
8118
  @holiday_region = args[:holiday_region] if args.key?(:holiday_region)
7437
8119
  @horizon = args[:horizon] if args.key?(:horizon)
8120
+ @hparam_tuning_objectives = args[:hparam_tuning_objectives] if args.key?(:hparam_tuning_objectives)
7438
8121
  @include_drift = args[:include_drift] if args.key?(:include_drift)
7439
8122
  @initial_learn_rate = args[:initial_learn_rate] if args.key?(:initial_learn_rate)
7440
8123
  @input_label_columns = args[:input_label_columns] if args.key?(:input_label_columns)
8124
+ @integrated_gradients_num_steps = args[:integrated_gradients_num_steps] if args.key?(:integrated_gradients_num_steps)
7441
8125
  @item_column = args[:item_column] if args.key?(:item_column)
7442
8126
  @kmeans_initialization_column = args[:kmeans_initialization_column] if args.key?(:kmeans_initialization_column)
7443
8127
  @kmeans_initialization_method = args[:kmeans_initialization_method] if args.key?(:kmeans_initialization_method)
@@ -7448,6 +8132,7 @@ module Google
7448
8132
  @learn_rate_strategy = args[:learn_rate_strategy] if args.key?(:learn_rate_strategy)
7449
8133
  @loss_type = args[:loss_type] if args.key?(:loss_type)
7450
8134
  @max_iterations = args[:max_iterations] if args.key?(:max_iterations)
8135
+ @max_parallel_trials = args[:max_parallel_trials] if args.key?(:max_parallel_trials)
7451
8136
  @max_tree_depth = args[:max_tree_depth] if args.key?(:max_tree_depth)
7452
8137
  @min_relative_progress = args[:min_relative_progress] if args.key?(:min_relative_progress)
7453
8138
  @min_split_loss = args[:min_split_loss] if args.key?(:min_split_loss)
@@ -7457,8 +8142,10 @@ module Google
7457
8142
  @num_clusters = args[:num_clusters] if args.key?(:num_clusters)
7458
8143
  @num_factors = args[:num_factors] if args.key?(:num_factors)
7459
8144
  @num_parallel_tree = args[:num_parallel_tree] if args.key?(:num_parallel_tree)
8145
+ @num_trials = args[:num_trials] if args.key?(:num_trials)
7460
8146
  @optimization_strategy = args[:optimization_strategy] if args.key?(:optimization_strategy)
7461
8147
  @preserve_input_structs = args[:preserve_input_structs] if args.key?(:preserve_input_structs)
8148
+ @sampled_shapley_num_paths = args[:sampled_shapley_num_paths] if args.key?(:sampled_shapley_num_paths)
7462
8149
  @subsample = args[:subsample] if args.key?(:subsample)
7463
8150
  @time_series_data_column = args[:time_series_data_column] if args.key?(:time_series_data_column)
7464
8151
  @time_series_id_column = args[:time_series_id_column] if args.key?(:time_series_id_column)
@@ -7475,6 +8162,12 @@ module Google
7475
8162
  class TrainingRun
7476
8163
  include Google::Apis::Core::Hashable
7477
8164
 
8165
+ # Global explanation contains the explanation of top features on the class level.
8166
+ # Applies to classification models only.
8167
+ # Corresponds to the JSON property `classLevelGlobalExplanations`
8168
+ # @return [Array<Google::Apis::BigqueryV2::GlobalExplanation>]
8169
+ attr_accessor :class_level_global_explanations
8170
+
7478
8171
  # Data split result. This contains references to the training and evaluation
7479
8172
  # data tables that were used to train the model.
7480
8173
  # Corresponds to the JSON property `dataSplitResult`
@@ -7488,6 +8181,11 @@ module Google
7488
8181
  # @return [Google::Apis::BigqueryV2::EvaluationMetrics]
7489
8182
  attr_accessor :evaluation_metrics
7490
8183
 
8184
+ # Global explanations containing the top most important features after training.
8185
+ # Corresponds to the JSON property `modelLevelGlobalExplanation`
8186
+ # @return [Google::Apis::BigqueryV2::GlobalExplanation]
8187
+ attr_accessor :model_level_global_explanation
8188
+
7491
8189
  # Output of each iteration run, results.size() <= max_iterations.
7492
8190
  # Corresponds to the JSON property `results`
7493
8191
  # @return [Array<Google::Apis::BigqueryV2::IterationResult>]
@@ -7509,8 +8207,10 @@ module Google
7509
8207
 
7510
8208
  # Update properties of this object
7511
8209
  def update!(**args)
8210
+ @class_level_global_explanations = args[:class_level_global_explanations] if args.key?(:class_level_global_explanations)
7512
8211
  @data_split_result = args[:data_split_result] if args.key?(:data_split_result)
7513
8212
  @evaluation_metrics = args[:evaluation_metrics] if args.key?(:evaluation_metrics)
8213
+ @model_level_global_explanation = args[:model_level_global_explanation] if args.key?(:model_level_global_explanation)
7514
8214
  @results = args[:results] if args.key?(:results)
7515
8215
  @start_time = args[:start_time] if args.key?(:start_time)
7516
8216
  @training_options = args[:training_options] if args.key?(:training_options)