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

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ TrainingOptions

Returns a new instance of TrainingOptions.



5784
5785
5786
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5784

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

Instance Attribute Details

#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)


5668
5669
5670
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5668

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)


5676
5677
5678
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5676

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)


5681
5682
5683
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5681

def data_split_method
  @data_split_method
end

#distance_typeString

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

Returns:

  • (String)


5686
5687
5688
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5686

def distance_type
  @distance_type
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)


5693
5694
5695
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5693

def early_stop
  @early_stop
end

#initial_learn_rateFloat

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

Returns:

  • (Float)


5700
5701
5702
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5700

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>)


5705
5706
5707
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5705

def input_label_columns
  @input_label_columns
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)


5711
5712
5713
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5711

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)


5716
5717
5718
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5716

def kmeans_initialization_method
  @kmeans_initialization_method
end

#l1_regularizationFloat

L1 regularization coefficient. Corresponds to the JSON property l1Regularization

Returns:

  • (Float)


5721
5722
5723
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5721

def l1_regularization
  @l1_regularization
end

#l2_regularizationFloat

L2 regularization coefficient. Corresponds to the JSON property l2Regularization

Returns:

  • (Float)


5726
5727
5728
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5726

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>)


5732
5733
5734
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5732

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)


5737
5738
5739
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5737

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)


5742
5743
5744
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5742

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)


5747
5748
5749
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5747

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)


5753
5754
5755
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5753

def max_iterations
  @max_iterations
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)


5760
5761
5762
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5760

def min_relative_progress
  @min_relative_progress
end

#model_uriString

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

Returns:

  • (String)


5766
5767
5768
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5766

def model_uri
  @model_uri
end

#num_clustersFixnum

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

Returns:

  • (Fixnum)


5771
5772
5773
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5771

def num_clusters
  @num_clusters
end

#optimization_strategyString

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

Returns:

  • (String)


5776
5777
5778
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5776

def optimization_strategy
  @optimization_strategy
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)


5781
5782
5783
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5781

def warm_start
  @warm_start
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5789

def update!(**args)
  @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)
  @distance_type = args[:distance_type] if args.key?(:distance_type)
  @early_stop = args[:early_stop] if args.key?(:early_stop)
  @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)
  @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)
  @min_relative_progress = args[:min_relative_progress] if args.key?(:min_relative_progress)
  @model_uri = args[:model_uri] if args.key?(:model_uri)
  @num_clusters = args[:num_clusters] if args.key?(:num_clusters)
  @optimization_strategy = args[:optimization_strategy] if args.key?(:optimization_strategy)
  @warm_start = args[:warm_start] if args.key?(:warm_start)
end