Class: Google::Apis::BigqueryV2::TrainingOptions

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/bigquery_v2/classes.rb,
lib/google/apis/bigquery_v2/representations.rb,
lib/google/apis/bigquery_v2/representations.rb

Overview

Options used in model training.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ TrainingOptions

Returns a new instance of TrainingOptions.



7355
7356
7357
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7355

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#adjust_step_changesBoolean Also known as: adjust_step_changes?

If true, detect step changes and make data adjustment in the input time series. Corresponds to the JSON property adjustStepChanges

Returns:

  • (Boolean)


7053
7054
7055
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7053

def adjust_step_changes
  @adjust_step_changes
end

#auto_arimaBoolean Also known as: auto_arima?

Whether to enable auto ARIMA or not. Corresponds to the JSON property autoArima

Returns:

  • (Boolean)


7059
7060
7061
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7059

def auto_arima
  @auto_arima
end

#auto_arima_max_orderFixnum

The max value of non-seasonal p and q. Corresponds to the JSON property autoArimaMaxOrder

Returns:

  • (Fixnum)


7065
7066
7067
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7065

def auto_arima_max_order
  @auto_arima_max_order
end

#batch_sizeFixnum

Batch size for dnn models. Corresponds to the JSON property batchSize

Returns:

  • (Fixnum)


7070
7071
7072
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7070

def batch_size
  @batch_size
end

#booster_typeString

Booster type for boosted tree models. Corresponds to the JSON property boosterType

Returns:

  • (String)


7075
7076
7077
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7075

def booster_type
  @booster_type
end

#clean_spikes_and_dipsBoolean Also known as: clean_spikes_and_dips?

If true, clean spikes and dips in the input time series. Corresponds to the JSON property cleanSpikesAndDips

Returns:

  • (Boolean)


7080
7081
7082
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7080

def clean_spikes_and_dips
  @clean_spikes_and_dips
end

#colsample_bylevelFloat

Subsample ratio of columns for each level for boosted tree models. Corresponds to the JSON property colsampleBylevel

Returns:

  • (Float)


7086
7087
7088
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7086

def colsample_bylevel
  @colsample_bylevel
end

#colsample_bynodeFloat

Subsample ratio of columns for each node(split) for boosted tree models. Corresponds to the JSON property colsampleBynode

Returns:

  • (Float)


7091
7092
7093
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7091

def colsample_bynode
  @colsample_bynode
end

#colsample_bytreeFloat

Subsample ratio of columns when constructing each tree for boosted tree models. Corresponds to the JSON property colsampleBytree

Returns:

  • (Float)


7096
7097
7098
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7096

def colsample_bytree
  @colsample_bytree
end

#dart_normalize_typeString

Type of normalization algorithm for boosted tree models using dart booster. Corresponds to the JSON property dartNormalizeType

Returns:

  • (String)


7101
7102
7103
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7101

def dart_normalize_type
  @dart_normalize_type
end

#data_frequencyString

The data frequency of a time series. Corresponds to the JSON property dataFrequency

Returns:

  • (String)


7106
7107
7108
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7106

def data_frequency
  @data_frequency
end

#data_split_columnString

The column to split data with. This column won't be used as a feature. 1. When data_split_method is CUSTOM, the corresponding column should be boolean. The rows with true value tag are eval data, and the false are training data. 2. When data_split_method is SEQ, the first DATA_SPLIT_EVAL_FRACTION rows (from smallest to largest) in the corresponding column are used as training data, and the rest are eval data. It respects the order in Orderable data types: https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#data- type-properties Corresponds to the JSON property dataSplitColumn

Returns:

  • (String)


7118
7119
7120
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7118

def data_split_column
  @data_split_column
end

#data_split_eval_fractionFloat

The fraction of evaluation data over the whole input data. The rest of data will be used as training data. The format should be double. Accurate to two decimal places. Default value is 0.2. Corresponds to the JSON property dataSplitEvalFraction

Returns:

  • (Float)


7125
7126
7127
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7125

def data_split_eval_fraction
  @data_split_eval_fraction
end

#data_split_methodString

The data split type for training and evaluation, e.g. RANDOM. Corresponds to the JSON property dataSplitMethod

Returns:

  • (String)


7130
7131
7132
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7130

def data_split_method
  @data_split_method
end

#decompose_time_seriesBoolean Also known as: decompose_time_series?

If true, perform decompose time series and save the results. Corresponds to the JSON property decomposeTimeSeries

Returns:

  • (Boolean)


7135
7136
7137
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7135

def decompose_time_series
  @decompose_time_series
end

#distance_typeString

Distance type for clustering models. Corresponds to the JSON property distanceType

Returns:

  • (String)


7141
7142
7143
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7141

def distance_type
  @distance_type
end

#dropoutFloat

Dropout probability for dnn models. Corresponds to the JSON property dropout

Returns:

  • (Float)


7146
7147
7148
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7146

def dropout
  @dropout
end

#early_stopBoolean Also known as: early_stop?

Whether to stop early when the loss doesn't improve significantly any more ( compared to min_relative_progress). Used only for iterative training algorithms. Corresponds to the JSON property earlyStop

Returns:

  • (Boolean)


7153
7154
7155
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7153

def early_stop
  @early_stop
end

#feedback_typeString

Feedback type that specifies which algorithm to run for matrix factorization. Corresponds to the JSON property feedbackType

Returns:

  • (String)


7159
7160
7161
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7159

def feedback_type
  @feedback_type
end

#hidden_unitsArray<Fixnum>

Hidden units for dnn models. Corresponds to the JSON property hiddenUnits

Returns:

  • (Array<Fixnum>)


7164
7165
7166
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7164

def hidden_units
  @hidden_units
end

#holiday_regionString

The geographical region based on which the holidays are considered in time series modeling. If a valid value is specified, then holiday effects modeling is enabled. Corresponds to the JSON property holidayRegion

Returns:

  • (String)


7171
7172
7173
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7171

def holiday_region
  @holiday_region
end

#horizonFixnum

The number of periods ahead that need to be forecasted. Corresponds to the JSON property horizon

Returns:

  • (Fixnum)


7176
7177
7178
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7176

def horizon
  @horizon
end

#include_driftBoolean Also known as: include_drift?

Include drift when fitting an ARIMA model. Corresponds to the JSON property includeDrift

Returns:

  • (Boolean)


7181
7182
7183
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7181

def include_drift
  @include_drift
end

#initial_learn_rateFloat

Specifies the initial learning rate for the line search learn rate strategy. Corresponds to the JSON property initialLearnRate

Returns:

  • (Float)


7187
7188
7189
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7187

def initial_learn_rate
  @initial_learn_rate
end

#input_label_columnsArray<String>

Name of input label columns in training data. Corresponds to the JSON property inputLabelColumns

Returns:

  • (Array<String>)


7192
7193
7194
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7192

def input_label_columns
  @input_label_columns
end

#item_columnString

Item column specified for matrix factorization models. Corresponds to the JSON property itemColumn

Returns:

  • (String)


7197
7198
7199
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7197

def item_column
  @item_column
end

#kmeans_initialization_columnString

The column used to provide the initial centroids for kmeans algorithm when kmeans_initialization_method is CUSTOM. Corresponds to the JSON property kmeansInitializationColumn

Returns:

  • (String)


7203
7204
7205
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7203

def kmeans_initialization_column
  @kmeans_initialization_column
end

#kmeans_initialization_methodString

The method used to initialize the centroids for kmeans algorithm. Corresponds to the JSON property kmeansInitializationMethod

Returns:

  • (String)


7208
7209
7210
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7208

def kmeans_initialization_method
  @kmeans_initialization_method
end

#l1_regularizationFloat

L1 regularization coefficient. Corresponds to the JSON property l1Regularization

Returns:

  • (Float)


7213
7214
7215
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7213

def l1_regularization
  @l1_regularization
end

#l2_regularizationFloat

L2 regularization coefficient. Corresponds to the JSON property l2Regularization

Returns:

  • (Float)


7218
7219
7220
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7218

def l2_regularization
  @l2_regularization
end

#label_class_weightsHash<String,Float>

Weights associated with each label class, for rebalancing the training data. Only applicable for classification models. Corresponds to the JSON property labelClassWeights

Returns:

  • (Hash<String,Float>)


7224
7225
7226
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7224

def label_class_weights
  @label_class_weights
end

#learn_rateFloat

Learning rate in training. Used only for iterative training algorithms. Corresponds to the JSON property learnRate

Returns:

  • (Float)


7229
7230
7231
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7229

def learn_rate
  @learn_rate
end

#learn_rate_strategyString

The strategy to determine learn rate for the current iteration. Corresponds to the JSON property learnRateStrategy

Returns:

  • (String)


7234
7235
7236
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7234

def learn_rate_strategy
  @learn_rate_strategy
end

#loss_typeString

Type of loss function used during training run. Corresponds to the JSON property lossType

Returns:

  • (String)


7239
7240
7241
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7239

def loss_type
  @loss_type
end

#max_iterationsFixnum

The maximum number of iterations in training. Used only for iterative training algorithms. Corresponds to the JSON property maxIterations

Returns:

  • (Fixnum)


7245
7246
7247
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7245

def max_iterations
  @max_iterations
end

#max_tree_depthFixnum

Maximum depth of a tree for boosted tree models. Corresponds to the JSON property maxTreeDepth

Returns:

  • (Fixnum)


7250
7251
7252
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7250

def max_tree_depth
  @max_tree_depth
end

#min_relative_progressFloat

When early_stop is true, stops training when accuracy improvement is less than 'min_relative_progress'. Used only for iterative training algorithms. Corresponds to the JSON property minRelativeProgress

Returns:

  • (Float)


7256
7257
7258
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7256

def min_relative_progress
  @min_relative_progress
end

#min_split_lossFloat

Minimum split loss for boosted tree models. Corresponds to the JSON property minSplitLoss

Returns:

  • (Float)


7261
7262
7263
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7261

def min_split_loss
  @min_split_loss
end

#min_tree_child_weightFixnum

Minimum sum of instance weight needed in a child for boosted tree models. Corresponds to the JSON property minTreeChildWeight

Returns:

  • (Fixnum)


7266
7267
7268
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7266

def min_tree_child_weight
  @min_tree_child_weight
end

#model_uriString

Google Cloud Storage URI from which the model was imported. Only applicable for imported models. Corresponds to the JSON property modelUri

Returns:

  • (String)


7272
7273
7274
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7272

def model_uri
  @model_uri
end

#non_seasonal_orderGoogle::Apis::BigqueryV2::ArimaOrder

Arima order, can be used for both non-seasonal and seasonal parts. Corresponds to the JSON property nonSeasonalOrder



7277
7278
7279
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7277

def non_seasonal_order
  @non_seasonal_order
end

#num_clustersFixnum

Number of clusters for clustering models. Corresponds to the JSON property numClusters

Returns:

  • (Fixnum)


7282
7283
7284
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7282

def num_clusters
  @num_clusters
end

#num_factorsFixnum

Num factors specified for matrix factorization models. Corresponds to the JSON property numFactors

Returns:

  • (Fixnum)


7287
7288
7289
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7287

def num_factors
  @num_factors
end

#num_parallel_treeFixnum

Number of parallel trees constructed during each iteration for boosted tree models. Corresponds to the JSON property numParallelTree

Returns:

  • (Fixnum)


7293
7294
7295
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7293

def num_parallel_tree
  @num_parallel_tree
end

#optimization_strategyString

Optimization strategy for training linear regression models. Corresponds to the JSON property optimizationStrategy

Returns:

  • (String)


7298
7299
7300
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7298

def optimization_strategy
  @optimization_strategy
end

#preserve_input_structsBoolean Also known as: preserve_input_structs?

Whether to preserve the input structs in output feature names. Suppose there is a struct A with field b. When false (default), the output feature name is A_b. When true, the output feature name is A.b. Corresponds to the JSON property preserveInputStructs

Returns:

  • (Boolean)


7305
7306
7307
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7305

def preserve_input_structs
  @preserve_input_structs
end

#subsampleFloat

Subsample fraction of the training data to grow tree to prevent overfitting for boosted tree models. Corresponds to the JSON property subsample

Returns:

  • (Float)


7312
7313
7314
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7312

def subsample
  @subsample
end

#time_series_data_columnString

Column to be designated as time series data for ARIMA model. Corresponds to the JSON property timeSeriesDataColumn

Returns:

  • (String)


7317
7318
7319
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7317

def time_series_data_column
  @time_series_data_column
end

#time_series_id_columnString

The time series id column that was used during ARIMA model training. Corresponds to the JSON property timeSeriesIdColumn

Returns:

  • (String)


7322
7323
7324
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7322

def time_series_id_column
  @time_series_id_column
end

#time_series_id_columnsArray<String>

The time series id columns that were used during ARIMA model training. Corresponds to the JSON property timeSeriesIdColumns

Returns:

  • (Array<String>)


7327
7328
7329
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7327

def time_series_id_columns
  @time_series_id_columns
end

#time_series_timestamp_columnString

Column to be designated as time series timestamp for ARIMA model. Corresponds to the JSON property timeSeriesTimestampColumn

Returns:

  • (String)


7332
7333
7334
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7332

def time_series_timestamp_column
  @time_series_timestamp_column
end

#tree_methodString

Tree construction algorithm for boosted tree models. Corresponds to the JSON property treeMethod

Returns:

  • (String)


7337
7338
7339
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7337

def tree_method
  @tree_method
end

#user_columnString

User column specified for matrix factorization models. Corresponds to the JSON property userColumn

Returns:

  • (String)


7342
7343
7344
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7342

def user_column
  @user_column
end

#wals_alphaFloat

Hyperparameter for matrix factoration when implicit feedback type is specified. Corresponds to the JSON property walsAlpha

Returns:

  • (Float)


7347
7348
7349
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7347

def wals_alpha
  @wals_alpha
end

#warm_startBoolean Also known as: warm_start?

Whether to train a model from the last checkpoint. Corresponds to the JSON property warmStart

Returns:

  • (Boolean)


7352
7353
7354
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7352

def warm_start
  @warm_start
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



7360
7361
7362
7363
7364
7365
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382
7383
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
7398
7399
7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7415
7416
# File 'lib/google/apis/bigquery_v2/classes.rb', line 7360

def update!(**args)
  @adjust_step_changes = args[:adjust_step_changes] if args.key?(:adjust_step_changes)
  @auto_arima = args[:auto_arima] if args.key?(:auto_arima)
  @auto_arima_max_order = args[:auto_arima_max_order] if args.key?(:auto_arima_max_order)
  @batch_size = args[:batch_size] if args.key?(:batch_size)
  @booster_type = args[:booster_type] if args.key?(:booster_type)
  @clean_spikes_and_dips = args[:clean_spikes_and_dips] if args.key?(:clean_spikes_and_dips)
  @colsample_bylevel = args[:colsample_bylevel] if args.key?(:colsample_bylevel)
  @colsample_bynode = args[:colsample_bynode] if args.key?(:colsample_bynode)
  @colsample_bytree = args[:colsample_bytree] if args.key?(:colsample_bytree)
  @dart_normalize_type = args[:dart_normalize_type] if args.key?(:dart_normalize_type)
  @data_frequency = args[:data_frequency] if args.key?(:data_frequency)
  @data_split_column = args[:data_split_column] if args.key?(:data_split_column)
  @data_split_eval_fraction = args[:data_split_eval_fraction] if args.key?(:data_split_eval_fraction)
  @data_split_method = args[:data_split_method] if args.key?(:data_split_method)
  @decompose_time_series = args[:decompose_time_series] if args.key?(:decompose_time_series)
  @distance_type = args[:distance_type] if args.key?(:distance_type)
  @dropout = args[:dropout] if args.key?(:dropout)
  @early_stop = args[:early_stop] if args.key?(:early_stop)
  @feedback_type = args[:feedback_type] if args.key?(:feedback_type)
  @hidden_units = args[:hidden_units] if args.key?(:hidden_units)
  @holiday_region = args[:holiday_region] if args.key?(:holiday_region)
  @horizon = args[:horizon] if args.key?(:horizon)
  @include_drift = args[:include_drift] if args.key?(:include_drift)
  @initial_learn_rate = args[:initial_learn_rate] if args.key?(:initial_learn_rate)
  @input_label_columns = args[:input_label_columns] if args.key?(:input_label_columns)
  @item_column = args[:item_column] if args.key?(:item_column)
  @kmeans_initialization_column = args[:kmeans_initialization_column] if args.key?(:kmeans_initialization_column)
  @kmeans_initialization_method = args[:kmeans_initialization_method] if args.key?(:kmeans_initialization_method)
  @l1_regularization = args[:l1_regularization] if args.key?(:l1_regularization)
  @l2_regularization = args[:l2_regularization] if args.key?(:l2_regularization)
  @label_class_weights = args[:label_class_weights] if args.key?(:label_class_weights)
  @learn_rate = args[:learn_rate] if args.key?(:learn_rate)
  @learn_rate_strategy = args[:learn_rate_strategy] if args.key?(:learn_rate_strategy)
  @loss_type = args[:loss_type] if args.key?(:loss_type)
  @max_iterations = args[:max_iterations] if args.key?(:max_iterations)
  @max_tree_depth = args[:max_tree_depth] if args.key?(:max_tree_depth)
  @min_relative_progress = args[:min_relative_progress] if args.key?(:min_relative_progress)
  @min_split_loss = args[:min_split_loss] if args.key?(:min_split_loss)
  @min_tree_child_weight = args[:min_tree_child_weight] if args.key?(:min_tree_child_weight)
  @model_uri = args[:model_uri] if args.key?(:model_uri)
  @non_seasonal_order = args[:non_seasonal_order] if args.key?(:non_seasonal_order)
  @num_clusters = args[:num_clusters] if args.key?(:num_clusters)
  @num_factors = args[:num_factors] if args.key?(:num_factors)
  @num_parallel_tree = args[:num_parallel_tree] if args.key?(:num_parallel_tree)
  @optimization_strategy = args[:optimization_strategy] if args.key?(:optimization_strategy)
  @preserve_input_structs = args[:preserve_input_structs] if args.key?(:preserve_input_structs)
  @subsample = args[:subsample] if args.key?(:subsample)
  @time_series_data_column = args[:time_series_data_column] if args.key?(:time_series_data_column)
  @time_series_id_column = args[:time_series_id_column] if args.key?(:time_series_id_column)
  @time_series_id_columns = args[:time_series_id_columns] if args.key?(:time_series_id_columns)
  @time_series_timestamp_column = args[:time_series_timestamp_column] if args.key?(:time_series_timestamp_column)
  @tree_method = args[:tree_method] if args.key?(:tree_method)
  @user_column = args[:user_column] if args.key?(:user_column)
  @wals_alpha = args[:wals_alpha] if args.key?(:wals_alpha)
  @warm_start = args[:warm_start] if args.key?(:warm_start)
end