google-apis-bigquery_v2 0.24.0 → 0.27.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
@@ -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)