blob: 2f813fe8b4d22ed6c44bedcbaf7fd1745c1663ac [file] [log] [blame]
<html><body>
<style>
body, h1, h2, h3, div, span, p, pre, a {
margin: 0;
padding: 0;
border: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
body {
font-size: 13px;
padding: 1em;
}
h1 {
font-size: 26px;
margin-bottom: 1em;
}
h2 {
font-size: 24px;
margin-bottom: 1em;
}
h3 {
font-size: 20px;
margin-bottom: 1em;
margin-top: 1em;
}
pre, code {
line-height: 1.5;
font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}
pre {
margin-top: 0.5em;
}
h1, h2, h3, p {
font-family: Arial, sans serif;
}
h1, h2, h3 {
border-bottom: solid #CCC 1px;
}
.toc_element {
margin-top: 0.5em;
}
.firstline {
margin-left: 2 em;
}
.method {
margin-top: 1em;
border: solid 1px #CCC;
padding: 1em;
background: #EEE;
}
.details {
font-weight: bold;
font-size: 14px;
}
</style>
<h1><a href="bigquery_v2.html">BigQuery API</a> . <a href="bigquery_v2.models.html">models</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
<code><a href="#delete">delete(projectId, datasetId, modelId)</a></code></p>
<p class="firstline">Deletes the model specified by modelId from the dataset.</p>
<p class="toc_element">
<code><a href="#get">get(projectId, datasetId, modelId)</a></code></p>
<p class="firstline">Gets the specified model resource by model ID.</p>
<p class="toc_element">
<code><a href="#list">list(projectId, datasetId, pageToken=None, maxResults=None)</a></code></p>
<p class="firstline">Lists all models in the specified dataset. Requires the READER dataset</p>
<p class="toc_element">
<code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<p class="toc_element">
<code><a href="#patch">patch(projectId, datasetId, modelId, body=None)</a></code></p>
<p class="firstline">Patch specific fields in the specified model.</p>
<h3>Method Details</h3>
<div class="method">
<code class="details" id="delete">delete(projectId, datasetId, modelId)</code>
<pre>Deletes the model specified by modelId from the dataset.
Args:
projectId: string, Required. Project ID of the model to delete. (required)
datasetId: string, Required. Dataset ID of the model to delete. (required)
modelId: string, Required. Model ID of the model to delete. (required)
</pre>
</div>
<div class="method">
<code class="details" id="get">get(projectId, datasetId, modelId)</code>
<pre>Gets the specified model resource by model ID.
Args:
projectId: string, Required. Project ID of the requested model. (required)
datasetId: string, Required. Dataset ID of the requested model. (required)
modelId: string, Required. Model ID of the requested model. (required)
Returns:
An object of the form:
{
"labels": { # The labels associated with this model. You can use these to organize
# and group your models. Label keys and values can be no longer
# than 63 characters, can only contain lowercase letters, numeric
# characters, underscores and dashes. International characters are allowed.
# Label values are optional. Label keys must start with a letter and each
# label in the list must have a different key.
"a_key": "A String",
},
"description": "A String", # Optional. A user-friendly description of this model.
"trainingRuns": [ # Output only. Information for all training runs in increasing order of start_time.
{ # Information about a single training query run for the model.
"evaluationMetrics": { # Evaluation metrics of a model. These are either computed on all training # The evaluation metrics over training/eval data that were computed at the
# end of training.
# data or just the eval data based on whether eval data was used during
# training. These are not present for imported models.
"clusteringMetrics": { # Evaluation metrics for clustering models. # Populated for clustering models.
"meanSquaredDistance": 3.14, # Mean of squared distances between each sample to its cluster centroid.
"daviesBouldinIndex": 3.14, # Davies-Bouldin index.
"clusters": [ # [Beta] Information for all clusters.
{ # Message containing the information about one cluster.
"count": "A String", # Count of training data rows that were assigned to this cluster.
"featureValues": [ # Values of highly variant features for this cluster.
{ # Representative value of a single feature within the cluster.
"featureColumn": "A String", # The feature column name.
"numericalValue": 3.14, # The numerical feature value. This is the centroid value for this
# feature.
"categoricalValue": { # Representative value of a categorical feature. # The categorical feature value.
"categoryCounts": [ # Counts of all categories for the categorical feature. If there are
# more than ten categories, we return top ten (by count) and return
# one more CategoryCount with category "_OTHER_" and count as
# aggregate counts of remaining categories.
{ # Represents the count of a single category within the cluster.
"category": "A String", # The name of category.
"count": "A String", # The count of training samples matching the category within the
# cluster.
},
],
},
},
],
"centroidId": "A String", # Centroid id.
},
],
},
"regressionMetrics": { # Evaluation metrics for regression and explicit feedback type matrix # Populated for regression models and explicit feedback type matrix
# factorization models.
# factorization models.
"meanSquaredLogError": 3.14, # Mean squared log error.
"meanAbsoluteError": 3.14, # Mean absolute error.
"meanSquaredError": 3.14, # Mean squared error.
"medianAbsoluteError": 3.14, # Median absolute error.
"rSquared": 3.14, # R^2 score.
},
"rankingMetrics": { # Evaluation metrics used by weighted-ALS models specified by # [Alpha] Populated for implicit feedback type matrix factorization
# models.
# feedback_type=implicit.
"meanSquaredError": 3.14, # Similar to the mean squared error computed in regression and explicit
# recommendation models except instead of computing the rating directly,
# the output from evaluate is computed against a preference which is 1 or 0
# depending on if the rating exists or not.
"meanAveragePrecision": 3.14, # Calculates a precision per user for all the items by ranking them and
# then averages all the precisions across all the users.
"averageRank": 3.14, # Determines the goodness of a ranking by computing the percentile rank
# from the predicted confidence and dividing it by the original rank.
"normalizedDiscountedCumulativeGain": 3.14, # A metric to determine the goodness of a ranking calculated from the
# predicted confidence by comparing it to an ideal rank measured by the
# original ratings.
},
"binaryClassificationMetrics": { # Evaluation metrics for binary classification/classifier models. # Populated for binary classification/classifier models.
"negativeLabel": "A String", # Label representing the negative class.
"aggregateClassificationMetrics": { # Aggregate metrics for classification/classifier models. For multi-class # Aggregate classification metrics.
# models, the metrics are either macro-averaged or micro-averaged. When
# macro-averaged, the metrics are calculated for each label and then an
# unweighted average is taken of those values. When micro-averaged, the
# metric is calculated globally by counting the total number of correctly
# predicted rows.
"recall": 3.14, # Recall is the fraction of actual positive labels that were given a
# positive prediction. For multiclass this is a macro-averaged metric.
"precision": 3.14, # Precision is the fraction of actual positive predictions that had
# positive actual labels. For multiclass this is a macro-averaged
# metric treating each class as a binary classifier.
"logLoss": 3.14, # Logarithmic Loss. For multiclass this is a macro-averaged metric.
"threshold": 3.14, # Threshold at which the metrics are computed. For binary
# classification models this is the positive class threshold.
# For multi-class classfication models this is the confidence
# threshold.
"accuracy": 3.14, # Accuracy is the fraction of predictions given the correct label. For
# multiclass this is a micro-averaged metric.
"f1Score": 3.14, # The F1 score is an average of recall and precision. For multiclass
# this is a macro-averaged metric.
"rocAuc": 3.14, # Area Under a ROC Curve. For multiclass this is a macro-averaged
# metric.
},
"positiveLabel": "A String", # Label representing the positive class.
"binaryConfusionMatrixList": [ # Binary confusion matrix at multiple thresholds.
{ # Confusion matrix for binary classification models.
"truePositives": "A String", # Number of true samples predicted as true.
"recall": 3.14, # The fraction of actual positive labels that were given a positive
# prediction.
"precision": 3.14, # The fraction of actual positive predictions that had positive actual
# labels.
"falseNegatives": "A String", # Number of false samples predicted as false.
"trueNegatives": "A String", # Number of true samples predicted as false.
"falsePositives": "A String", # Number of false samples predicted as true.
"f1Score": 3.14, # The equally weighted average of recall and precision.
"positiveClassThreshold": 3.14, # Threshold value used when computing each of the following metric.
"accuracy": 3.14, # The fraction of predictions given the correct label.
},
],
},
"multiClassClassificationMetrics": { # Evaluation metrics for multi-class classification/classifier models. # Populated for multi-class classification/classifier models.
"aggregateClassificationMetrics": { # Aggregate metrics for classification/classifier models. For multi-class # Aggregate classification metrics.
# models, the metrics are either macro-averaged or micro-averaged. When
# macro-averaged, the metrics are calculated for each label and then an
# unweighted average is taken of those values. When micro-averaged, the
# metric is calculated globally by counting the total number of correctly
# predicted rows.
"recall": 3.14, # Recall is the fraction of actual positive labels that were given a
# positive prediction. For multiclass this is a macro-averaged metric.
"precision": 3.14, # Precision is the fraction of actual positive predictions that had
# positive actual labels. For multiclass this is a macro-averaged
# metric treating each class as a binary classifier.
"logLoss": 3.14, # Logarithmic Loss. For multiclass this is a macro-averaged metric.
"threshold": 3.14, # Threshold at which the metrics are computed. For binary
# classification models this is the positive class threshold.
# For multi-class classfication models this is the confidence
# threshold.
"accuracy": 3.14, # Accuracy is the fraction of predictions given the correct label. For
# multiclass this is a micro-averaged metric.
"f1Score": 3.14, # The F1 score is an average of recall and precision. For multiclass
# this is a macro-averaged metric.
"rocAuc": 3.14, # Area Under a ROC Curve. For multiclass this is a macro-averaged
# metric.
},
"confusionMatrixList": [ # Confusion matrix at different thresholds.
{ # Confusion matrix for multi-class classification models.
"confidenceThreshold": 3.14, # Confidence threshold used when computing the entries of the
# confusion matrix.
"rows": [ # One row per actual label.
{ # A single row in the confusion matrix.
"actualLabel": "A String", # The original label of this row.
"entries": [ # Info describing predicted label distribution.
{ # A single entry in the confusion matrix.
"predictedLabel": "A String", # The predicted label. For confidence_threshold &gt; 0, we will
# also add an entry indicating the number of items under the
# confidence threshold.
"itemCount": "A String", # Number of items being predicted as this label.
},
],
},
],
},
],
},
},
"dataSplitResult": { # Data split result. This contains references to the training and evaluation # Data split result of the training run. Only set when the input data is
# actually split.
# data tables that were used to train the model.
"trainingTable": { # Table reference of the training data after split.
"projectId": "A String", # [Required] The ID of the project containing this table.
"tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
"datasetId": "A String", # [Required] The ID of the dataset containing this table.
},
"evaluationTable": { # Table reference of the evaluation data after split.
"projectId": "A String", # [Required] The ID of the project containing this table.
"tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
"datasetId": "A String", # [Required] The ID of the dataset containing this table.
},
},
"results": [ # Output of each iteration run, results.size() &lt;= max_iterations.
{ # Information about a single iteration of the training run.
"arimaResult": { # (Auto-)arima fitting result. Wrap everything in ArimaResult for easier
# refactoring if we want to use model-specific iteration results.
"arimaModelInfo": [ # This message is repeated because there are multiple arima models
# fitted in auto-arima. For non-auto-arima model, its size is one.
{ # Arima model information.
"seasonalPeriods": [ # Seasonal periods. Repeated because multiple periods are supported
# for one time series.
"A String",
],
"hasDrift": True or False, # Whether Arima model fitted with drift or not. It is always false
# when d is not 1.
"arimaCoefficients": { # Arima coefficients. # Arima coefficients.
"movingAverageCoefficients": [ # Moving-average coefficients, an array of double.
3.14,
],
"autoRegressiveCoefficients": [ # Auto-regressive coefficients, an array of double.
3.14,
],
"interceptCoefficient": 3.14, # Intercept coefficient, just a double not an array.
},
"nonSeasonalOrder": { # Arima order, can be used for both non-seasonal and seasonal parts. # Non-seasonal order.
"q": "A String", # Order of the moving-average part.
"p": "A String", # Order of the autoregressive part.
"d": "A String", # Order of the differencing part.
},
"arimaFittingMetrics": { # ARIMA model fitting metrics. # Arima fitting metrics.
"variance": 3.14, # Variance.
"logLikelihood": 3.14, # Log-likelihood.
"aic": 3.14, # AIC.
},
"timeSeriesId": "A String", # The id to indicate different time series.
},
],
"seasonalPeriods": [ # Seasonal periods. Repeated because multiple periods are supported for
# one time series.
"A String",
],
},
"index": 42, # Index of the iteration, 0 based.
"evalLoss": 3.14, # Loss computed on the eval data at the end of iteration.
"durationMs": "A String", # Time taken to run the iteration in milliseconds.
"learnRate": 3.14, # Learn rate used for this iteration.
"trainingLoss": 3.14, # Loss computed on the training data at the end of iteration.
"clusterInfos": [ # Information about top clusters for clustering models.
{ # Information about a single cluster for clustering model.
"centroidId": "A String", # Centroid id.
"clusterSize": "A String", # Cluster size, the total number of points assigned to the cluster.
"clusterRadius": 3.14, # Cluster radius, the average distance from centroid
# to each point assigned to the cluster.
},
],
},
],
"startTime": "A String", # The start time of this training run.
"trainingOptions": { # Options that were used for this training run, includes
# user specified and default options that were used.
"optimizationStrategy": "A String", # Optimization strategy for training linear regression models.
"itemColumn": "A String", # Item column specified for matrix factorization models.
"feedbackType": "A String", # Feedback type that specifies which algorithm to run for matrix
# factorization.
"numFactors": "A String", # Num factors specified for matrix factorization models.
"inputLabelColumns": [ # Name of input label columns in training data.
"A String",
],
"batchSize": "A String", # Batch size for dnn models.
"distanceType": "A String", # Distance type for clustering models.
"kmeansInitializationColumn": "A String", # The column used to provide the initial centroids for kmeans algorithm
# when kmeans_initialization_method is CUSTOM.
"l2Regularization": 3.14, # L2 regularization coefficient.
"dropout": 3.14, # Dropout probability for dnn models.
"minRelativeProgress": 3.14, # When early_stop is true, stops training when accuracy improvement is
# less than 'min_relative_progress'. Used only for iterative training
# algorithms.
"l1Regularization": 3.14, # L1 regularization coefficient.
"maxIterations": "A String", # The maximum number of iterations in training. Used only for iterative
# training algorithms.
"earlyStop": True or False, # Whether to stop early when the loss doesn't improve significantly
# any more (compared to min_relative_progress). Used only for iterative
# training algorithms.
"initialLearnRate": 3.14, # Specifies the initial learning rate for the line search learn rate
# strategy.
"dataSplitColumn": "A String", # 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
"numClusters": "A String", # Number of clusters for clustering models.
"warmStart": True or False, # Whether to train a model from the last checkpoint.
"hiddenUnits": [ # Hidden units for dnn models.
"A String",
],
"maxTreeDepth": "A String", # Maximum depth of a tree for boosted tree models.
"userColumn": "A String", # User column specified for matrix factorization models.
"kmeansInitializationMethod": "A String", # The method used to initialize the centroids for kmeans algorithm.
"learnRateStrategy": "A String", # The strategy to determine learn rate for the current iteration.
"dataSplitEvalFraction": 3.14, # 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.
"dataSplitMethod": "A String", # The data split type for training and evaluation, e.g. RANDOM.
"subsample": 3.14, # Subsample fraction of the training data to grow tree to prevent
# overfitting for boosted tree models.
"labelClassWeights": { # Weights associated with each label class, for rebalancing the
# training data. Only applicable for classification models.
"a_key": 3.14,
},
"learnRate": 3.14, # Learning rate in training. Used only for iterative training algorithms.
"modelUri": "A String", # [Beta] Google Cloud Storage URI from which the model was imported. Only
# applicable for imported models.
"walsAlpha": 3.14, # Hyperparameter for matrix factoration when implicit feedback type is
# specified.
"minSplitLoss": 3.14, # Minimum split loss for boosted tree models.
"lossType": "A String", # Type of loss function used during training run.
},
},
],
"featureColumns": [ # Output only. Input feature columns that were used to train this model.
{ # A field or a column.
"type": { # The type of a variable, e.g., a function argument. # Optional. The type of this parameter. Absent if not explicitly
# specified (e.g., CREATE FUNCTION statement can omit the return type;
# in this case the output parameter does not have this "type" field).
# Examples:
# INT64: {type_kind="INT64"}
# ARRAY&lt;STRING&gt;: {type_kind="ARRAY", array_element_type="STRING"}
# STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
# {type_kind="STRUCT",
# struct_type={fields=[
# {name="x", type={type_kind="STRING"}},
# {name="y", type={type_kind="ARRAY", array_element_type="DATE"}}
# ]}}
"structType": { # The fields of this struct, in order, if type_kind = "STRUCT".
"fields": [
# Object with schema name: StandardSqlField
],
},
"arrayElementType": # Object with schema name: StandardSqlDataType # The type of the array's elements, if type_kind = "ARRAY".
"typeKind": "A String", # Required. The top level type of this field.
# Can be any standard SQL data type (e.g., "INT64", "DATE", "ARRAY").
},
"name": "A String", # Optional. The name of this field. Can be absent for struct fields.
},
],
"labelColumns": [ # Output only. Label columns that were used to train this model.
# The output of the model will have a "predicted_" prefix to these columns.
{ # A field or a column.
"type": { # The type of a variable, e.g., a function argument. # Optional. The type of this parameter. Absent if not explicitly
# specified (e.g., CREATE FUNCTION statement can omit the return type;
# in this case the output parameter does not have this "type" field).
# Examples:
# INT64: {type_kind="INT64"}
# ARRAY&lt;STRING&gt;: {type_kind="ARRAY", array_element_type="STRING"}
# STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
# {type_kind="STRUCT",
# struct_type={fields=[
# {name="x", type={type_kind="STRING"}},
# {name="y", type={type_kind="ARRAY", array_element_type="DATE"}}
# ]}}
"structType": { # The fields of this struct, in order, if type_kind = "STRUCT".
"fields": [
# Object with schema name: StandardSqlField
],
},
"arrayElementType": # Object with schema name: StandardSqlDataType # The type of the array's elements, if type_kind = "ARRAY".
"typeKind": "A String", # Required. The top level type of this field.
# Can be any standard SQL data type (e.g., "INT64", "DATE", "ARRAY").
},
"name": "A String", # Optional. The name of this field. Can be absent for struct fields.
},
],
"creationTime": "A String", # Output only. The time when this model was created, in millisecs since the epoch.
"modelType": "A String", # Output only. Type of the model resource.
"encryptionConfiguration": { # Custom encryption configuration (e.g., Cloud KMS keys). This shows the
# encryption configuration of the model data while stored in BigQuery
# storage. This field can be used with PatchModel to update encryption key
# for an already encrypted model.
"kmsKeyName": "A String", # [Optional] Describes the Cloud KMS encryption key that will be used to protect destination BigQuery table. The BigQuery Service Account associated with your project requires access to this encryption key.
},
"modelReference": { # Required. Unique identifier for this model.
"projectId": "A String", # [Required] The ID of the project containing this model.
"datasetId": "A String", # [Required] The ID of the dataset containing this model.
"modelId": "A String", # [Required] The ID of the model. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
},
"etag": "A String", # Output only. A hash of this resource.
"location": "A String", # Output only. The geographic location where the model resides. This value
# is inherited from the dataset.
"friendlyName": "A String", # Optional. A descriptive name for this model.
"expirationTime": "A String", # Optional. The time when this model expires, in milliseconds since the epoch.
# If not present, the model will persist indefinitely. Expired models
# will be deleted and their storage reclaimed. The defaultTableExpirationMs
# property of the encapsulating dataset can be used to set a default
# expirationTime on newly created models.
"lastModifiedTime": "A String", # Output only. The time when this model was last modified, in millisecs since the epoch.
}</pre>
</div>
<div class="method">
<code class="details" id="list">list(projectId, datasetId, pageToken=None, maxResults=None)</code>
<pre>Lists all models in the specified dataset. Requires the READER dataset
role.
Args:
projectId: string, Required. Project ID of the models to list. (required)
datasetId: string, Required. Dataset ID of the models to list. (required)
pageToken: string, Page token, returned by a previous call to request the next page of
results
maxResults: integer, The maximum number of results to return in a single response page.
Leverage the page tokens to iterate through the entire collection.
Returns:
An object of the form:
{
"nextPageToken": "A String", # A token to request the next page of results.
"models": [ # Models in the requested dataset. Only the following fields are populated:
# model_reference, model_type, creation_time, last_modified_time and
# labels.
{
"labels": { # The labels associated with this model. You can use these to organize
# and group your models. Label keys and values can be no longer
# than 63 characters, can only contain lowercase letters, numeric
# characters, underscores and dashes. International characters are allowed.
# Label values are optional. Label keys must start with a letter and each
# label in the list must have a different key.
"a_key": "A String",
},
"description": "A String", # Optional. A user-friendly description of this model.
"trainingRuns": [ # Output only. Information for all training runs in increasing order of start_time.
{ # Information about a single training query run for the model.
"evaluationMetrics": { # Evaluation metrics of a model. These are either computed on all training # The evaluation metrics over training/eval data that were computed at the
# end of training.
# data or just the eval data based on whether eval data was used during
# training. These are not present for imported models.
"clusteringMetrics": { # Evaluation metrics for clustering models. # Populated for clustering models.
"meanSquaredDistance": 3.14, # Mean of squared distances between each sample to its cluster centroid.
"daviesBouldinIndex": 3.14, # Davies-Bouldin index.
"clusters": [ # [Beta] Information for all clusters.
{ # Message containing the information about one cluster.
"count": "A String", # Count of training data rows that were assigned to this cluster.
"featureValues": [ # Values of highly variant features for this cluster.
{ # Representative value of a single feature within the cluster.
"featureColumn": "A String", # The feature column name.
"numericalValue": 3.14, # The numerical feature value. This is the centroid value for this
# feature.
"categoricalValue": { # Representative value of a categorical feature. # The categorical feature value.
"categoryCounts": [ # Counts of all categories for the categorical feature. If there are
# more than ten categories, we return top ten (by count) and return
# one more CategoryCount with category "_OTHER_" and count as
# aggregate counts of remaining categories.
{ # Represents the count of a single category within the cluster.
"category": "A String", # The name of category.
"count": "A String", # The count of training samples matching the category within the
# cluster.
},
],
},
},
],
"centroidId": "A String", # Centroid id.
},
],
},
"regressionMetrics": { # Evaluation metrics for regression and explicit feedback type matrix # Populated for regression models and explicit feedback type matrix
# factorization models.
# factorization models.
"meanSquaredLogError": 3.14, # Mean squared log error.
"meanAbsoluteError": 3.14, # Mean absolute error.
"meanSquaredError": 3.14, # Mean squared error.
"medianAbsoluteError": 3.14, # Median absolute error.
"rSquared": 3.14, # R^2 score.
},
"rankingMetrics": { # Evaluation metrics used by weighted-ALS models specified by # [Alpha] Populated for implicit feedback type matrix factorization
# models.
# feedback_type=implicit.
"meanSquaredError": 3.14, # Similar to the mean squared error computed in regression and explicit
# recommendation models except instead of computing the rating directly,
# the output from evaluate is computed against a preference which is 1 or 0
# depending on if the rating exists or not.
"meanAveragePrecision": 3.14, # Calculates a precision per user for all the items by ranking them and
# then averages all the precisions across all the users.
"averageRank": 3.14, # Determines the goodness of a ranking by computing the percentile rank
# from the predicted confidence and dividing it by the original rank.
"normalizedDiscountedCumulativeGain": 3.14, # A metric to determine the goodness of a ranking calculated from the
# predicted confidence by comparing it to an ideal rank measured by the
# original ratings.
},
"binaryClassificationMetrics": { # Evaluation metrics for binary classification/classifier models. # Populated for binary classification/classifier models.
"negativeLabel": "A String", # Label representing the negative class.
"aggregateClassificationMetrics": { # Aggregate metrics for classification/classifier models. For multi-class # Aggregate classification metrics.
# models, the metrics are either macro-averaged or micro-averaged. When
# macro-averaged, the metrics are calculated for each label and then an
# unweighted average is taken of those values. When micro-averaged, the
# metric is calculated globally by counting the total number of correctly
# predicted rows.
"recall": 3.14, # Recall is the fraction of actual positive labels that were given a
# positive prediction. For multiclass this is a macro-averaged metric.
"precision": 3.14, # Precision is the fraction of actual positive predictions that had
# positive actual labels. For multiclass this is a macro-averaged
# metric treating each class as a binary classifier.
"logLoss": 3.14, # Logarithmic Loss. For multiclass this is a macro-averaged metric.
"threshold": 3.14, # Threshold at which the metrics are computed. For binary
# classification models this is the positive class threshold.
# For multi-class classfication models this is the confidence
# threshold.
"accuracy": 3.14, # Accuracy is the fraction of predictions given the correct label. For
# multiclass this is a micro-averaged metric.
"f1Score": 3.14, # The F1 score is an average of recall and precision. For multiclass
# this is a macro-averaged metric.
"rocAuc": 3.14, # Area Under a ROC Curve. For multiclass this is a macro-averaged
# metric.
},
"positiveLabel": "A String", # Label representing the positive class.
"binaryConfusionMatrixList": [ # Binary confusion matrix at multiple thresholds.
{ # Confusion matrix for binary classification models.
"truePositives": "A String", # Number of true samples predicted as true.
"recall": 3.14, # The fraction of actual positive labels that were given a positive
# prediction.
"precision": 3.14, # The fraction of actual positive predictions that had positive actual
# labels.
"falseNegatives": "A String", # Number of false samples predicted as false.
"trueNegatives": "A String", # Number of true samples predicted as false.
"falsePositives": "A String", # Number of false samples predicted as true.
"f1Score": 3.14, # The equally weighted average of recall and precision.
"positiveClassThreshold": 3.14, # Threshold value used when computing each of the following metric.
"accuracy": 3.14, # The fraction of predictions given the correct label.
},
],
},
"multiClassClassificationMetrics": { # Evaluation metrics for multi-class classification/classifier models. # Populated for multi-class classification/classifier models.
"aggregateClassificationMetrics": { # Aggregate metrics for classification/classifier models. For multi-class # Aggregate classification metrics.
# models, the metrics are either macro-averaged or micro-averaged. When
# macro-averaged, the metrics are calculated for each label and then an
# unweighted average is taken of those values. When micro-averaged, the
# metric is calculated globally by counting the total number of correctly
# predicted rows.
"recall": 3.14, # Recall is the fraction of actual positive labels that were given a
# positive prediction. For multiclass this is a macro-averaged metric.
"precision": 3.14, # Precision is the fraction of actual positive predictions that had
# positive actual labels. For multiclass this is a macro-averaged
# metric treating each class as a binary classifier.
"logLoss": 3.14, # Logarithmic Loss. For multiclass this is a macro-averaged metric.
"threshold": 3.14, # Threshold at which the metrics are computed. For binary
# classification models this is the positive class threshold.
# For multi-class classfication models this is the confidence
# threshold.
"accuracy": 3.14, # Accuracy is the fraction of predictions given the correct label. For
# multiclass this is a micro-averaged metric.
"f1Score": 3.14, # The F1 score is an average of recall and precision. For multiclass
# this is a macro-averaged metric.
"rocAuc": 3.14, # Area Under a ROC Curve. For multiclass this is a macro-averaged
# metric.
},
"confusionMatrixList": [ # Confusion matrix at different thresholds.
{ # Confusion matrix for multi-class classification models.
"confidenceThreshold": 3.14, # Confidence threshold used when computing the entries of the
# confusion matrix.
"rows": [ # One row per actual label.
{ # A single row in the confusion matrix.
"actualLabel": "A String", # The original label of this row.
"entries": [ # Info describing predicted label distribution.
{ # A single entry in the confusion matrix.
"predictedLabel": "A String", # The predicted label. For confidence_threshold &gt; 0, we will
# also add an entry indicating the number of items under the
# confidence threshold.
"itemCount": "A String", # Number of items being predicted as this label.
},
],
},
],
},
],
},
},
"dataSplitResult": { # Data split result. This contains references to the training and evaluation # Data split result of the training run. Only set when the input data is
# actually split.
# data tables that were used to train the model.
"trainingTable": { # Table reference of the training data after split.
"projectId": "A String", # [Required] The ID of the project containing this table.
"tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
"datasetId": "A String", # [Required] The ID of the dataset containing this table.
},
"evaluationTable": { # Table reference of the evaluation data after split.
"projectId": "A String", # [Required] The ID of the project containing this table.
"tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
"datasetId": "A String", # [Required] The ID of the dataset containing this table.
},
},
"results": [ # Output of each iteration run, results.size() &lt;= max_iterations.
{ # Information about a single iteration of the training run.
"arimaResult": { # (Auto-)arima fitting result. Wrap everything in ArimaResult for easier
# refactoring if we want to use model-specific iteration results.
"arimaModelInfo": [ # This message is repeated because there are multiple arima models
# fitted in auto-arima. For non-auto-arima model, its size is one.
{ # Arima model information.
"seasonalPeriods": [ # Seasonal periods. Repeated because multiple periods are supported
# for one time series.
"A String",
],
"hasDrift": True or False, # Whether Arima model fitted with drift or not. It is always false
# when d is not 1.
"arimaCoefficients": { # Arima coefficients. # Arima coefficients.
"movingAverageCoefficients": [ # Moving-average coefficients, an array of double.
3.14,
],
"autoRegressiveCoefficients": [ # Auto-regressive coefficients, an array of double.
3.14,
],
"interceptCoefficient": 3.14, # Intercept coefficient, just a double not an array.
},
"nonSeasonalOrder": { # Arima order, can be used for both non-seasonal and seasonal parts. # Non-seasonal order.
"q": "A String", # Order of the moving-average part.
"p": "A String", # Order of the autoregressive part.
"d": "A String", # Order of the differencing part.
},
"arimaFittingMetrics": { # ARIMA model fitting metrics. # Arima fitting metrics.
"variance": 3.14, # Variance.
"logLikelihood": 3.14, # Log-likelihood.
"aic": 3.14, # AIC.
},
"timeSeriesId": "A String", # The id to indicate different time series.
},
],
"seasonalPeriods": [ # Seasonal periods. Repeated because multiple periods are supported for
# one time series.
"A String",
],
},
"index": 42, # Index of the iteration, 0 based.
"evalLoss": 3.14, # Loss computed on the eval data at the end of iteration.
"durationMs": "A String", # Time taken to run the iteration in milliseconds.
"learnRate": 3.14, # Learn rate used for this iteration.
"trainingLoss": 3.14, # Loss computed on the training data at the end of iteration.
"clusterInfos": [ # Information about top clusters for clustering models.
{ # Information about a single cluster for clustering model.
"centroidId": "A String", # Centroid id.
"clusterSize": "A String", # Cluster size, the total number of points assigned to the cluster.
"clusterRadius": 3.14, # Cluster radius, the average distance from centroid
# to each point assigned to the cluster.
},
],
},
],
"startTime": "A String", # The start time of this training run.
"trainingOptions": { # Options that were used for this training run, includes
# user specified and default options that were used.
"optimizationStrategy": "A String", # Optimization strategy for training linear regression models.
"itemColumn": "A String", # Item column specified for matrix factorization models.
"feedbackType": "A String", # Feedback type that specifies which algorithm to run for matrix
# factorization.
"numFactors": "A String", # Num factors specified for matrix factorization models.
"inputLabelColumns": [ # Name of input label columns in training data.
"A String",
],
"batchSize": "A String", # Batch size for dnn models.
"distanceType": "A String", # Distance type for clustering models.
"kmeansInitializationColumn": "A String", # The column used to provide the initial centroids for kmeans algorithm
# when kmeans_initialization_method is CUSTOM.
"l2Regularization": 3.14, # L2 regularization coefficient.
"dropout": 3.14, # Dropout probability for dnn models.
"minRelativeProgress": 3.14, # When early_stop is true, stops training when accuracy improvement is
# less than 'min_relative_progress'. Used only for iterative training
# algorithms.
"l1Regularization": 3.14, # L1 regularization coefficient.
"maxIterations": "A String", # The maximum number of iterations in training. Used only for iterative
# training algorithms.
"earlyStop": True or False, # Whether to stop early when the loss doesn't improve significantly
# any more (compared to min_relative_progress). Used only for iterative
# training algorithms.
"initialLearnRate": 3.14, # Specifies the initial learning rate for the line search learn rate
# strategy.
"dataSplitColumn": "A String", # 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
"numClusters": "A String", # Number of clusters for clustering models.
"warmStart": True or False, # Whether to train a model from the last checkpoint.
"hiddenUnits": [ # Hidden units for dnn models.
"A String",
],
"maxTreeDepth": "A String", # Maximum depth of a tree for boosted tree models.
"userColumn": "A String", # User column specified for matrix factorization models.
"kmeansInitializationMethod": "A String", # The method used to initialize the centroids for kmeans algorithm.
"learnRateStrategy": "A String", # The strategy to determine learn rate for the current iteration.
"dataSplitEvalFraction": 3.14, # 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.
"dataSplitMethod": "A String", # The data split type for training and evaluation, e.g. RANDOM.
"subsample": 3.14, # Subsample fraction of the training data to grow tree to prevent
# overfitting for boosted tree models.
"labelClassWeights": { # Weights associated with each label class, for rebalancing the
# training data. Only applicable for classification models.
"a_key": 3.14,
},
"learnRate": 3.14, # Learning rate in training. Used only for iterative training algorithms.
"modelUri": "A String", # [Beta] Google Cloud Storage URI from which the model was imported. Only
# applicable for imported models.
"walsAlpha": 3.14, # Hyperparameter for matrix factoration when implicit feedback type is
# specified.
"minSplitLoss": 3.14, # Minimum split loss for boosted tree models.
"lossType": "A String", # Type of loss function used during training run.
},
},
],
"featureColumns": [ # Output only. Input feature columns that were used to train this model.
{ # A field or a column.
"type": { # The type of a variable, e.g., a function argument. # Optional. The type of this parameter. Absent if not explicitly
# specified (e.g., CREATE FUNCTION statement can omit the return type;
# in this case the output parameter does not have this "type" field).
# Examples:
# INT64: {type_kind="INT64"}
# ARRAY&lt;STRING&gt;: {type_kind="ARRAY", array_element_type="STRING"}
# STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
# {type_kind="STRUCT",
# struct_type={fields=[
# {name="x", type={type_kind="STRING"}},
# {name="y", type={type_kind="ARRAY", array_element_type="DATE"}}
# ]}}
"structType": { # The fields of this struct, in order, if type_kind = "STRUCT".
"fields": [
# Object with schema name: StandardSqlField
],
},
"arrayElementType": # Object with schema name: StandardSqlDataType # The type of the array's elements, if type_kind = "ARRAY".
"typeKind": "A String", # Required. The top level type of this field.
# Can be any standard SQL data type (e.g., "INT64", "DATE", "ARRAY").
},
"name": "A String", # Optional. The name of this field. Can be absent for struct fields.
},
],
"labelColumns": [ # Output only. Label columns that were used to train this model.
# The output of the model will have a "predicted_" prefix to these columns.
{ # A field or a column.
"type": { # The type of a variable, e.g., a function argument. # Optional. The type of this parameter. Absent if not explicitly
# specified (e.g., CREATE FUNCTION statement can omit the return type;
# in this case the output parameter does not have this "type" field).
# Examples:
# INT64: {type_kind="INT64"}
# ARRAY&lt;STRING&gt;: {type_kind="ARRAY", array_element_type="STRING"}
# STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
# {type_kind="STRUCT",
# struct_type={fields=[
# {name="x", type={type_kind="STRING"}},
# {name="y", type={type_kind="ARRAY", array_element_type="DATE"}}
# ]}}
"structType": { # The fields of this struct, in order, if type_kind = "STRUCT".
"fields": [
# Object with schema name: StandardSqlField
],
},
"arrayElementType": # Object with schema name: StandardSqlDataType # The type of the array's elements, if type_kind = "ARRAY".
"typeKind": "A String", # Required. The top level type of this field.
# Can be any standard SQL data type (e.g., "INT64", "DATE", "ARRAY").
},
"name": "A String", # Optional. The name of this field. Can be absent for struct fields.
},
],
"creationTime": "A String", # Output only. The time when this model was created, in millisecs since the epoch.
"modelType": "A String", # Output only. Type of the model resource.
"encryptionConfiguration": { # Custom encryption configuration (e.g., Cloud KMS keys). This shows the
# encryption configuration of the model data while stored in BigQuery
# storage. This field can be used with PatchModel to update encryption key
# for an already encrypted model.
"kmsKeyName": "A String", # [Optional] Describes the Cloud KMS encryption key that will be used to protect destination BigQuery table. The BigQuery Service Account associated with your project requires access to this encryption key.
},
"modelReference": { # Required. Unique identifier for this model.
"projectId": "A String", # [Required] The ID of the project containing this model.
"datasetId": "A String", # [Required] The ID of the dataset containing this model.
"modelId": "A String", # [Required] The ID of the model. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
},
"etag": "A String", # Output only. A hash of this resource.
"location": "A String", # Output only. The geographic location where the model resides. This value
# is inherited from the dataset.
"friendlyName": "A String", # Optional. A descriptive name for this model.
"expirationTime": "A String", # Optional. The time when this model expires, in milliseconds since the epoch.
# If not present, the model will persist indefinitely. Expired models
# will be deleted and their storage reclaimed. The defaultTableExpirationMs
# property of the encapsulating dataset can be used to set a default
# expirationTime on newly created models.
"lastModifiedTime": "A String", # Output only. The time when this model was last modified, in millisecs since the epoch.
},
],
}</pre>
</div>
<div class="method">
<code class="details" id="list_next">list_next(previous_request, previous_response)</code>
<pre>Retrieves the next page of results.
Args:
previous_request: The request for the previous page. (required)
previous_response: The response from the request for the previous page. (required)
Returns:
A request object that you can call 'execute()' on to request the next
page. Returns None if there are no more items in the collection.
</pre>
</div>
<div class="method">
<code class="details" id="patch">patch(projectId, datasetId, modelId, body=None)</code>
<pre>Patch specific fields in the specified model.
Args:
projectId: string, Required. Project ID of the model to patch. (required)
datasetId: string, Required. Dataset ID of the model to patch. (required)
modelId: string, Required. Model ID of the model to patch. (required)
body: object, The request body.
The object takes the form of:
{
"labels": { # The labels associated with this model. You can use these to organize
# and group your models. Label keys and values can be no longer
# than 63 characters, can only contain lowercase letters, numeric
# characters, underscores and dashes. International characters are allowed.
# Label values are optional. Label keys must start with a letter and each
# label in the list must have a different key.
"a_key": "A String",
},
"description": "A String", # Optional. A user-friendly description of this model.
"trainingRuns": [ # Output only. Information for all training runs in increasing order of start_time.
{ # Information about a single training query run for the model.
"evaluationMetrics": { # Evaluation metrics of a model. These are either computed on all training # The evaluation metrics over training/eval data that were computed at the
# end of training.
# data or just the eval data based on whether eval data was used during
# training. These are not present for imported models.
"clusteringMetrics": { # Evaluation metrics for clustering models. # Populated for clustering models.
"meanSquaredDistance": 3.14, # Mean of squared distances between each sample to its cluster centroid.
"daviesBouldinIndex": 3.14, # Davies-Bouldin index.
"clusters": [ # [Beta] Information for all clusters.
{ # Message containing the information about one cluster.
"count": "A String", # Count of training data rows that were assigned to this cluster.
"featureValues": [ # Values of highly variant features for this cluster.
{ # Representative value of a single feature within the cluster.
"featureColumn": "A String", # The feature column name.
"numericalValue": 3.14, # The numerical feature value. This is the centroid value for this
# feature.
"categoricalValue": { # Representative value of a categorical feature. # The categorical feature value.
"categoryCounts": [ # Counts of all categories for the categorical feature. If there are
# more than ten categories, we return top ten (by count) and return
# one more CategoryCount with category "_OTHER_" and count as
# aggregate counts of remaining categories.
{ # Represents the count of a single category within the cluster.
"category": "A String", # The name of category.
"count": "A String", # The count of training samples matching the category within the
# cluster.
},
],
},
},
],
"centroidId": "A String", # Centroid id.
},
],
},
"regressionMetrics": { # Evaluation metrics for regression and explicit feedback type matrix # Populated for regression models and explicit feedback type matrix
# factorization models.
# factorization models.
"meanSquaredLogError": 3.14, # Mean squared log error.
"meanAbsoluteError": 3.14, # Mean absolute error.
"meanSquaredError": 3.14, # Mean squared error.
"medianAbsoluteError": 3.14, # Median absolute error.
"rSquared": 3.14, # R^2 score.
},
"rankingMetrics": { # Evaluation metrics used by weighted-ALS models specified by # [Alpha] Populated for implicit feedback type matrix factorization
# models.
# feedback_type=implicit.
"meanSquaredError": 3.14, # Similar to the mean squared error computed in regression and explicit
# recommendation models except instead of computing the rating directly,
# the output from evaluate is computed against a preference which is 1 or 0
# depending on if the rating exists or not.
"meanAveragePrecision": 3.14, # Calculates a precision per user for all the items by ranking them and
# then averages all the precisions across all the users.
"averageRank": 3.14, # Determines the goodness of a ranking by computing the percentile rank
# from the predicted confidence and dividing it by the original rank.
"normalizedDiscountedCumulativeGain": 3.14, # A metric to determine the goodness of a ranking calculated from the
# predicted confidence by comparing it to an ideal rank measured by the
# original ratings.
},
"binaryClassificationMetrics": { # Evaluation metrics for binary classification/classifier models. # Populated for binary classification/classifier models.
"negativeLabel": "A String", # Label representing the negative class.
"aggregateClassificationMetrics": { # Aggregate metrics for classification/classifier models. For multi-class # Aggregate classification metrics.
# models, the metrics are either macro-averaged or micro-averaged. When
# macro-averaged, the metrics are calculated for each label and then an
# unweighted average is taken of those values. When micro-averaged, the
# metric is calculated globally by counting the total number of correctly
# predicted rows.
"recall": 3.14, # Recall is the fraction of actual positive labels that were given a
# positive prediction. For multiclass this is a macro-averaged metric.
"precision": 3.14, # Precision is the fraction of actual positive predictions that had
# positive actual labels. For multiclass this is a macro-averaged
# metric treating each class as a binary classifier.
"logLoss": 3.14, # Logarithmic Loss. For multiclass this is a macro-averaged metric.
"threshold": 3.14, # Threshold at which the metrics are computed. For binary
# classification models this is the positive class threshold.
# For multi-class classfication models this is the confidence
# threshold.
"accuracy": 3.14, # Accuracy is the fraction of predictions given the correct label. For
# multiclass this is a micro-averaged metric.
"f1Score": 3.14, # The F1 score is an average of recall and precision. For multiclass
# this is a macro-averaged metric.
"rocAuc": 3.14, # Area Under a ROC Curve. For multiclass this is a macro-averaged
# metric.
},
"positiveLabel": "A String", # Label representing the positive class.
"binaryConfusionMatrixList": [ # Binary confusion matrix at multiple thresholds.
{ # Confusion matrix for binary classification models.
"truePositives": "A String", # Number of true samples predicted as true.
"recall": 3.14, # The fraction of actual positive labels that were given a positive
# prediction.
"precision": 3.14, # The fraction of actual positive predictions that had positive actual
# labels.
"falseNegatives": "A String", # Number of false samples predicted as false.
"trueNegatives": "A String", # Number of true samples predicted as false.
"falsePositives": "A String", # Number of false samples predicted as true.
"f1Score": 3.14, # The equally weighted average of recall and precision.
"positiveClassThreshold": 3.14, # Threshold value used when computing each of the following metric.
"accuracy": 3.14, # The fraction of predictions given the correct label.
},
],
},
"multiClassClassificationMetrics": { # Evaluation metrics for multi-class classification/classifier models. # Populated for multi-class classification/classifier models.
"aggregateClassificationMetrics": { # Aggregate metrics for classification/classifier models. For multi-class # Aggregate classification metrics.
# models, the metrics are either macro-averaged or micro-averaged. When
# macro-averaged, the metrics are calculated for each label and then an
# unweighted average is taken of those values. When micro-averaged, the
# metric is calculated globally by counting the total number of correctly
# predicted rows.
"recall": 3.14, # Recall is the fraction of actual positive labels that were given a
# positive prediction. For multiclass this is a macro-averaged metric.
"precision": 3.14, # Precision is the fraction of actual positive predictions that had
# positive actual labels. For multiclass this is a macro-averaged
# metric treating each class as a binary classifier.
"logLoss": 3.14, # Logarithmic Loss. For multiclass this is a macro-averaged metric.
"threshold": 3.14, # Threshold at which the metrics are computed. For binary
# classification models this is the positive class threshold.
# For multi-class classfication models this is the confidence
# threshold.
"accuracy": 3.14, # Accuracy is the fraction of predictions given the correct label. For
# multiclass this is a micro-averaged metric.
"f1Score": 3.14, # The F1 score is an average of recall and precision. For multiclass
# this is a macro-averaged metric.
"rocAuc": 3.14, # Area Under a ROC Curve. For multiclass this is a macro-averaged
# metric.
},
"confusionMatrixList": [ # Confusion matrix at different thresholds.
{ # Confusion matrix for multi-class classification models.
"confidenceThreshold": 3.14, # Confidence threshold used when computing the entries of the
# confusion matrix.
"rows": [ # One row per actual label.
{ # A single row in the confusion matrix.
"actualLabel": "A String", # The original label of this row.
"entries": [ # Info describing predicted label distribution.
{ # A single entry in the confusion matrix.
"predictedLabel": "A String", # The predicted label. For confidence_threshold &gt; 0, we will
# also add an entry indicating the number of items under the
# confidence threshold.
"itemCount": "A String", # Number of items being predicted as this label.
},
],
},
],
},
],
},
},
"dataSplitResult": { # Data split result. This contains references to the training and evaluation # Data split result of the training run. Only set when the input data is
# actually split.
# data tables that were used to train the model.
"trainingTable": { # Table reference of the training data after split.
"projectId": "A String", # [Required] The ID of the project containing this table.
"tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
"datasetId": "A String", # [Required] The ID of the dataset containing this table.
},
"evaluationTable": { # Table reference of the evaluation data after split.
"projectId": "A String", # [Required] The ID of the project containing this table.
"tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
"datasetId": "A String", # [Required] The ID of the dataset containing this table.
},
},
"results": [ # Output of each iteration run, results.size() &lt;= max_iterations.
{ # Information about a single iteration of the training run.
"arimaResult": { # (Auto-)arima fitting result. Wrap everything in ArimaResult for easier
# refactoring if we want to use model-specific iteration results.
"arimaModelInfo": [ # This message is repeated because there are multiple arima models
# fitted in auto-arima. For non-auto-arima model, its size is one.
{ # Arima model information.
"seasonalPeriods": [ # Seasonal periods. Repeated because multiple periods are supported
# for one time series.
"A String",
],
"hasDrift": True or False, # Whether Arima model fitted with drift or not. It is always false
# when d is not 1.
"arimaCoefficients": { # Arima coefficients. # Arima coefficients.
"movingAverageCoefficients": [ # Moving-average coefficients, an array of double.
3.14,
],
"autoRegressiveCoefficients": [ # Auto-regressive coefficients, an array of double.
3.14,
],
"interceptCoefficient": 3.14, # Intercept coefficient, just a double not an array.
},
"nonSeasonalOrder": { # Arima order, can be used for both non-seasonal and seasonal parts. # Non-seasonal order.
"q": "A String", # Order of the moving-average part.
"p": "A String", # Order of the autoregressive part.
"d": "A String", # Order of the differencing part.
},
"arimaFittingMetrics": { # ARIMA model fitting metrics. # Arima fitting metrics.
"variance": 3.14, # Variance.
"logLikelihood": 3.14, # Log-likelihood.
"aic": 3.14, # AIC.
},
"timeSeriesId": "A String", # The id to indicate different time series.
},
],
"seasonalPeriods": [ # Seasonal periods. Repeated because multiple periods are supported for
# one time series.
"A String",
],
},
"index": 42, # Index of the iteration, 0 based.
"evalLoss": 3.14, # Loss computed on the eval data at the end of iteration.
"durationMs": "A String", # Time taken to run the iteration in milliseconds.
"learnRate": 3.14, # Learn rate used for this iteration.
"trainingLoss": 3.14, # Loss computed on the training data at the end of iteration.
"clusterInfos": [ # Information about top clusters for clustering models.
{ # Information about a single cluster for clustering model.
"centroidId": "A String", # Centroid id.
"clusterSize": "A String", # Cluster size, the total number of points assigned to the cluster.
"clusterRadius": 3.14, # Cluster radius, the average distance from centroid
# to each point assigned to the cluster.
},
],
},
],
"startTime": "A String", # The start time of this training run.
"trainingOptions": { # Options that were used for this training run, includes
# user specified and default options that were used.
"optimizationStrategy": "A String", # Optimization strategy for training linear regression models.
"itemColumn": "A String", # Item column specified for matrix factorization models.
"feedbackType": "A String", # Feedback type that specifies which algorithm to run for matrix
# factorization.
"numFactors": "A String", # Num factors specified for matrix factorization models.
"inputLabelColumns": [ # Name of input label columns in training data.
"A String",
],
"batchSize": "A String", # Batch size for dnn models.
"distanceType": "A String", # Distance type for clustering models.
"kmeansInitializationColumn": "A String", # The column used to provide the initial centroids for kmeans algorithm
# when kmeans_initialization_method is CUSTOM.
"l2Regularization": 3.14, # L2 regularization coefficient.
"dropout": 3.14, # Dropout probability for dnn models.
"minRelativeProgress": 3.14, # When early_stop is true, stops training when accuracy improvement is
# less than 'min_relative_progress'. Used only for iterative training
# algorithms.
"l1Regularization": 3.14, # L1 regularization coefficient.
"maxIterations": "A String", # The maximum number of iterations in training. Used only for iterative
# training algorithms.
"earlyStop": True or False, # Whether to stop early when the loss doesn't improve significantly
# any more (compared to min_relative_progress). Used only for iterative
# training algorithms.
"initialLearnRate": 3.14, # Specifies the initial learning rate for the line search learn rate
# strategy.
"dataSplitColumn": "A String", # 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
"numClusters": "A String", # Number of clusters for clustering models.
"warmStart": True or False, # Whether to train a model from the last checkpoint.
"hiddenUnits": [ # Hidden units for dnn models.
"A String",
],
"maxTreeDepth": "A String", # Maximum depth of a tree for boosted tree models.
"userColumn": "A String", # User column specified for matrix factorization models.
"kmeansInitializationMethod": "A String", # The method used to initialize the centroids for kmeans algorithm.
"learnRateStrategy": "A String", # The strategy to determine learn rate for the current iteration.
"dataSplitEvalFraction": 3.14, # 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.
"dataSplitMethod": "A String", # The data split type for training and evaluation, e.g. RANDOM.
"subsample": 3.14, # Subsample fraction of the training data to grow tree to prevent
# overfitting for boosted tree models.
"labelClassWeights": { # Weights associated with each label class, for rebalancing the
# training data. Only applicable for classification models.
"a_key": 3.14,
},
"learnRate": 3.14, # Learning rate in training. Used only for iterative training algorithms.
"modelUri": "A String", # [Beta] Google Cloud Storage URI from which the model was imported. Only
# applicable for imported models.
"walsAlpha": 3.14, # Hyperparameter for matrix factoration when implicit feedback type is
# specified.
"minSplitLoss": 3.14, # Minimum split loss for boosted tree models.
"lossType": "A String", # Type of loss function used during training run.
},
},
],
"featureColumns": [ # Output only. Input feature columns that were used to train this model.
{ # A field or a column.
"type": { # The type of a variable, e.g., a function argument. # Optional. The type of this parameter. Absent if not explicitly
# specified (e.g., CREATE FUNCTION statement can omit the return type;
# in this case the output parameter does not have this "type" field).
# Examples:
# INT64: {type_kind="INT64"}
# ARRAY&lt;STRING&gt;: {type_kind="ARRAY", array_element_type="STRING"}
# STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
# {type_kind="STRUCT",
# struct_type={fields=[
# {name="x", type={type_kind="STRING"}},
# {name="y", type={type_kind="ARRAY", array_element_type="DATE"}}
# ]}}
"structType": { # The fields of this struct, in order, if type_kind = "STRUCT".
"fields": [
# Object with schema name: StandardSqlField
],
},
"arrayElementType": # Object with schema name: StandardSqlDataType # The type of the array's elements, if type_kind = "ARRAY".
"typeKind": "A String", # Required. The top level type of this field.
# Can be any standard SQL data type (e.g., "INT64", "DATE", "ARRAY").
},
"name": "A String", # Optional. The name of this field. Can be absent for struct fields.
},
],
"labelColumns": [ # Output only. Label columns that were used to train this model.
# The output of the model will have a "predicted_" prefix to these columns.
{ # A field or a column.
"type": { # The type of a variable, e.g., a function argument. # Optional. The type of this parameter. Absent if not explicitly
# specified (e.g., CREATE FUNCTION statement can omit the return type;
# in this case the output parameter does not have this "type" field).
# Examples:
# INT64: {type_kind="INT64"}
# ARRAY&lt;STRING&gt;: {type_kind="ARRAY", array_element_type="STRING"}
# STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
# {type_kind="STRUCT",
# struct_type={fields=[
# {name="x", type={type_kind="STRING"}},
# {name="y", type={type_kind="ARRAY", array_element_type="DATE"}}
# ]}}
"structType": { # The fields of this struct, in order, if type_kind = "STRUCT".
"fields": [
# Object with schema name: StandardSqlField
],
},
"arrayElementType": # Object with schema name: StandardSqlDataType # The type of the array's elements, if type_kind = "ARRAY".
"typeKind": "A String", # Required. The top level type of this field.
# Can be any standard SQL data type (e.g., "INT64", "DATE", "ARRAY").
},
"name": "A String", # Optional. The name of this field. Can be absent for struct fields.
},
],
"creationTime": "A String", # Output only. The time when this model was created, in millisecs since the epoch.
"modelType": "A String", # Output only. Type of the model resource.
"encryptionConfiguration": { # Custom encryption configuration (e.g., Cloud KMS keys). This shows the
# encryption configuration of the model data while stored in BigQuery
# storage. This field can be used with PatchModel to update encryption key
# for an already encrypted model.
"kmsKeyName": "A String", # [Optional] Describes the Cloud KMS encryption key that will be used to protect destination BigQuery table. The BigQuery Service Account associated with your project requires access to this encryption key.
},
"modelReference": { # Required. Unique identifier for this model.
"projectId": "A String", # [Required] The ID of the project containing this model.
"datasetId": "A String", # [Required] The ID of the dataset containing this model.
"modelId": "A String", # [Required] The ID of the model. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
},
"etag": "A String", # Output only. A hash of this resource.
"location": "A String", # Output only. The geographic location where the model resides. This value
# is inherited from the dataset.
"friendlyName": "A String", # Optional. A descriptive name for this model.
"expirationTime": "A String", # Optional. The time when this model expires, in milliseconds since the epoch.
# If not present, the model will persist indefinitely. Expired models
# will be deleted and their storage reclaimed. The defaultTableExpirationMs
# property of the encapsulating dataset can be used to set a default
# expirationTime on newly created models.
"lastModifiedTime": "A String", # Output only. The time when this model was last modified, in millisecs since the epoch.
}
Returns:
An object of the form:
{
"labels": { # The labels associated with this model. You can use these to organize
# and group your models. Label keys and values can be no longer
# than 63 characters, can only contain lowercase letters, numeric
# characters, underscores and dashes. International characters are allowed.
# Label values are optional. Label keys must start with a letter and each
# label in the list must have a different key.
"a_key": "A String",
},
"description": "A String", # Optional. A user-friendly description of this model.
"trainingRuns": [ # Output only. Information for all training runs in increasing order of start_time.
{ # Information about a single training query run for the model.
"evaluationMetrics": { # Evaluation metrics of a model. These are either computed on all training # The evaluation metrics over training/eval data that were computed at the
# end of training.
# data or just the eval data based on whether eval data was used during
# training. These are not present for imported models.
"clusteringMetrics": { # Evaluation metrics for clustering models. # Populated for clustering models.
"meanSquaredDistance": 3.14, # Mean of squared distances between each sample to its cluster centroid.
"daviesBouldinIndex": 3.14, # Davies-Bouldin index.
"clusters": [ # [Beta] Information for all clusters.
{ # Message containing the information about one cluster.
"count": "A String", # Count of training data rows that were assigned to this cluster.
"featureValues": [ # Values of highly variant features for this cluster.
{ # Representative value of a single feature within the cluster.
"featureColumn": "A String", # The feature column name.
"numericalValue": 3.14, # The numerical feature value. This is the centroid value for this
# feature.
"categoricalValue": { # Representative value of a categorical feature. # The categorical feature value.
"categoryCounts": [ # Counts of all categories for the categorical feature. If there are
# more than ten categories, we return top ten (by count) and return
# one more CategoryCount with category "_OTHER_" and count as
# aggregate counts of remaining categories.
{ # Represents the count of a single category within the cluster.
"category": "A String", # The name of category.
"count": "A String", # The count of training samples matching the category within the
# cluster.
},
],
},
},
],
"centroidId": "A String", # Centroid id.
},
],
},
"regressionMetrics": { # Evaluation metrics for regression and explicit feedback type matrix # Populated for regression models and explicit feedback type matrix
# factorization models.
# factorization models.
"meanSquaredLogError": 3.14, # Mean squared log error.
"meanAbsoluteError": 3.14, # Mean absolute error.
"meanSquaredError": 3.14, # Mean squared error.
"medianAbsoluteError": 3.14, # Median absolute error.
"rSquared": 3.14, # R^2 score.
},
"rankingMetrics": { # Evaluation metrics used by weighted-ALS models specified by # [Alpha] Populated for implicit feedback type matrix factorization
# models.
# feedback_type=implicit.
"meanSquaredError": 3.14, # Similar to the mean squared error computed in regression and explicit
# recommendation models except instead of computing the rating directly,
# the output from evaluate is computed against a preference which is 1 or 0
# depending on if the rating exists or not.
"meanAveragePrecision": 3.14, # Calculates a precision per user for all the items by ranking them and
# then averages all the precisions across all the users.
"averageRank": 3.14, # Determines the goodness of a ranking by computing the percentile rank
# from the predicted confidence and dividing it by the original rank.
"normalizedDiscountedCumulativeGain": 3.14, # A metric to determine the goodness of a ranking calculated from the
# predicted confidence by comparing it to an ideal rank measured by the
# original ratings.
},
"binaryClassificationMetrics": { # Evaluation metrics for binary classification/classifier models. # Populated for binary classification/classifier models.
"negativeLabel": "A String", # Label representing the negative class.
"aggregateClassificationMetrics": { # Aggregate metrics for classification/classifier models. For multi-class # Aggregate classification metrics.
# models, the metrics are either macro-averaged or micro-averaged. When
# macro-averaged, the metrics are calculated for each label and then an
# unweighted average is taken of those values. When micro-averaged, the
# metric is calculated globally by counting the total number of correctly
# predicted rows.
"recall": 3.14, # Recall is the fraction of actual positive labels that were given a
# positive prediction. For multiclass this is a macro-averaged metric.
"precision": 3.14, # Precision is the fraction of actual positive predictions that had
# positive actual labels. For multiclass this is a macro-averaged
# metric treating each class as a binary classifier.
"logLoss": 3.14, # Logarithmic Loss. For multiclass this is a macro-averaged metric.
"threshold": 3.14, # Threshold at which the metrics are computed. For binary
# classification models this is the positive class threshold.
# For multi-class classfication models this is the confidence
# threshold.
"accuracy": 3.14, # Accuracy is the fraction of predictions given the correct label. For
# multiclass this is a micro-averaged metric.
"f1Score": 3.14, # The F1 score is an average of recall and precision. For multiclass
# this is a macro-averaged metric.
"rocAuc": 3.14, # Area Under a ROC Curve. For multiclass this is a macro-averaged
# metric.
},
"positiveLabel": "A String", # Label representing the positive class.
"binaryConfusionMatrixList": [ # Binary confusion matrix at multiple thresholds.
{ # Confusion matrix for binary classification models.
"truePositives": "A String", # Number of true samples predicted as true.
"recall": 3.14, # The fraction of actual positive labels that were given a positive
# prediction.
"precision": 3.14, # The fraction of actual positive predictions that had positive actual
# labels.
"falseNegatives": "A String", # Number of false samples predicted as false.
"trueNegatives": "A String", # Number of true samples predicted as false.
"falsePositives": "A String", # Number of false samples predicted as true.
"f1Score": 3.14, # The equally weighted average of recall and precision.
"positiveClassThreshold": 3.14, # Threshold value used when computing each of the following metric.
"accuracy": 3.14, # The fraction of predictions given the correct label.
},
],
},
"multiClassClassificationMetrics": { # Evaluation metrics for multi-class classification/classifier models. # Populated for multi-class classification/classifier models.
"aggregateClassificationMetrics": { # Aggregate metrics for classification/classifier models. For multi-class # Aggregate classification metrics.
# models, the metrics are either macro-averaged or micro-averaged. When
# macro-averaged, the metrics are calculated for each label and then an
# unweighted average is taken of those values. When micro-averaged, the
# metric is calculated globally by counting the total number of correctly
# predicted rows.
"recall": 3.14, # Recall is the fraction of actual positive labels that were given a
# positive prediction. For multiclass this is a macro-averaged metric.
"precision": 3.14, # Precision is the fraction of actual positive predictions that had
# positive actual labels. For multiclass this is a macro-averaged
# metric treating each class as a binary classifier.
"logLoss": 3.14, # Logarithmic Loss. For multiclass this is a macro-averaged metric.
"threshold": 3.14, # Threshold at which the metrics are computed. For binary
# classification models this is the positive class threshold.
# For multi-class classfication models this is the confidence
# threshold.
"accuracy": 3.14, # Accuracy is the fraction of predictions given the correct label. For
# multiclass this is a micro-averaged metric.
"f1Score": 3.14, # The F1 score is an average of recall and precision. For multiclass
# this is a macro-averaged metric.
"rocAuc": 3.14, # Area Under a ROC Curve. For multiclass this is a macro-averaged
# metric.
},
"confusionMatrixList": [ # Confusion matrix at different thresholds.
{ # Confusion matrix for multi-class classification models.
"confidenceThreshold": 3.14, # Confidence threshold used when computing the entries of the
# confusion matrix.
"rows": [ # One row per actual label.
{ # A single row in the confusion matrix.
"actualLabel": "A String", # The original label of this row.
"entries": [ # Info describing predicted label distribution.
{ # A single entry in the confusion matrix.
"predictedLabel": "A String", # The predicted label. For confidence_threshold &gt; 0, we will
# also add an entry indicating the number of items under the
# confidence threshold.
"itemCount": "A String", # Number of items being predicted as this label.
},
],
},
],
},
],
},
},
"dataSplitResult": { # Data split result. This contains references to the training and evaluation # Data split result of the training run. Only set when the input data is
# actually split.
# data tables that were used to train the model.
"trainingTable": { # Table reference of the training data after split.
"projectId": "A String", # [Required] The ID of the project containing this table.
"tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
"datasetId": "A String", # [Required] The ID of the dataset containing this table.
},
"evaluationTable": { # Table reference of the evaluation data after split.
"projectId": "A String", # [Required] The ID of the project containing this table.
"tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
"datasetId": "A String", # [Required] The ID of the dataset containing this table.
},
},
"results": [ # Output of each iteration run, results.size() &lt;= max_iterations.
{ # Information about a single iteration of the training run.
"arimaResult": { # (Auto-)arima fitting result. Wrap everything in ArimaResult for easier
# refactoring if we want to use model-specific iteration results.
"arimaModelInfo": [ # This message is repeated because there are multiple arima models
# fitted in auto-arima. For non-auto-arima model, its size is one.
{ # Arima model information.
"seasonalPeriods": [ # Seasonal periods. Repeated because multiple periods are supported
# for one time series.
"A String",
],
"hasDrift": True or False, # Whether Arima model fitted with drift or not. It is always false
# when d is not 1.
"arimaCoefficients": { # Arima coefficients. # Arima coefficients.
"movingAverageCoefficients": [ # Moving-average coefficients, an array of double.
3.14,
],
"autoRegressiveCoefficients": [ # Auto-regressive coefficients, an array of double.
3.14,
],
"interceptCoefficient": 3.14, # Intercept coefficient, just a double not an array.
},
"nonSeasonalOrder": { # Arima order, can be used for both non-seasonal and seasonal parts. # Non-seasonal order.
"q": "A String", # Order of the moving-average part.
"p": "A String", # Order of the autoregressive part.
"d": "A String", # Order of the differencing part.
},
"arimaFittingMetrics": { # ARIMA model fitting metrics. # Arima fitting metrics.
"variance": 3.14, # Variance.
"logLikelihood": 3.14, # Log-likelihood.
"aic": 3.14, # AIC.
},
"timeSeriesId": "A String", # The id to indicate different time series.
},
],
"seasonalPeriods": [ # Seasonal periods. Repeated because multiple periods are supported for
# one time series.
"A String",
],
},
"index": 42, # Index of the iteration, 0 based.
"evalLoss": 3.14, # Loss computed on the eval data at the end of iteration.
"durationMs": "A String", # Time taken to run the iteration in milliseconds.
"learnRate": 3.14, # Learn rate used for this iteration.
"trainingLoss": 3.14, # Loss computed on the training data at the end of iteration.
"clusterInfos": [ # Information about top clusters for clustering models.
{ # Information about a single cluster for clustering model.
"centroidId": "A String", # Centroid id.
"clusterSize": "A String", # Cluster size, the total number of points assigned to the cluster.
"clusterRadius": 3.14, # Cluster radius, the average distance from centroid
# to each point assigned to the cluster.
},
],
},
],
"startTime": "A String", # The start time of this training run.
"trainingOptions": { # Options that were used for this training run, includes
# user specified and default options that were used.
"optimizationStrategy": "A String", # Optimization strategy for training linear regression models.
"itemColumn": "A String", # Item column specified for matrix factorization models.
"feedbackType": "A String", # Feedback type that specifies which algorithm to run for matrix
# factorization.
"numFactors": "A String", # Num factors specified for matrix factorization models.
"inputLabelColumns": [ # Name of input label columns in training data.
"A String",
],
"batchSize": "A String", # Batch size for dnn models.
"distanceType": "A String", # Distance type for clustering models.
"kmeansInitializationColumn": "A String", # The column used to provide the initial centroids for kmeans algorithm
# when kmeans_initialization_method is CUSTOM.
"l2Regularization": 3.14, # L2 regularization coefficient.
"dropout": 3.14, # Dropout probability for dnn models.
"minRelativeProgress": 3.14, # When early_stop is true, stops training when accuracy improvement is
# less than 'min_relative_progress'. Used only for iterative training
# algorithms.
"l1Regularization": 3.14, # L1 regularization coefficient.
"maxIterations": "A String", # The maximum number of iterations in training. Used only for iterative
# training algorithms.
"earlyStop": True or False, # Whether to stop early when the loss doesn't improve significantly
# any more (compared to min_relative_progress). Used only for iterative
# training algorithms.
"initialLearnRate": 3.14, # Specifies the initial learning rate for the line search learn rate
# strategy.
"dataSplitColumn": "A String", # 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
"numClusters": "A String", # Number of clusters for clustering models.
"warmStart": True or False, # Whether to train a model from the last checkpoint.
"hiddenUnits": [ # Hidden units for dnn models.
"A String",
],
"maxTreeDepth": "A String", # Maximum depth of a tree for boosted tree models.
"userColumn": "A String", # User column specified for matrix factorization models.
"kmeansInitializationMethod": "A String", # The method used to initialize the centroids for kmeans algorithm.
"learnRateStrategy": "A String", # The strategy to determine learn rate for the current iteration.
"dataSplitEvalFraction": 3.14, # 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.
"dataSplitMethod": "A String", # The data split type for training and evaluation, e.g. RANDOM.
"subsample": 3.14, # Subsample fraction of the training data to grow tree to prevent
# overfitting for boosted tree models.
"labelClassWeights": { # Weights associated with each label class, for rebalancing the
# training data. Only applicable for classification models.
"a_key": 3.14,
},
"learnRate": 3.14, # Learning rate in training. Used only for iterative training algorithms.
"modelUri": "A String", # [Beta] Google Cloud Storage URI from which the model was imported. Only
# applicable for imported models.
"walsAlpha": 3.14, # Hyperparameter for matrix factoration when implicit feedback type is
# specified.
"minSplitLoss": 3.14, # Minimum split loss for boosted tree models.
"lossType": "A String", # Type of loss function used during training run.
},
},
],
"featureColumns": [ # Output only. Input feature columns that were used to train this model.
{ # A field or a column.
"type": { # The type of a variable, e.g., a function argument. # Optional. The type of this parameter. Absent if not explicitly
# specified (e.g., CREATE FUNCTION statement can omit the return type;
# in this case the output parameter does not have this "type" field).
# Examples:
# INT64: {type_kind="INT64"}
# ARRAY&lt;STRING&gt;: {type_kind="ARRAY", array_element_type="STRING"}
# STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
# {type_kind="STRUCT",
# struct_type={fields=[
# {name="x", type={type_kind="STRING"}},
# {name="y", type={type_kind="ARRAY", array_element_type="DATE"}}
# ]}}
"structType": { # The fields of this struct, in order, if type_kind = "STRUCT".
"fields": [
# Object with schema name: StandardSqlField
],
},
"arrayElementType": # Object with schema name: StandardSqlDataType # The type of the array's elements, if type_kind = "ARRAY".
"typeKind": "A String", # Required. The top level type of this field.
# Can be any standard SQL data type (e.g., "INT64", "DATE", "ARRAY").
},
"name": "A String", # Optional. The name of this field. Can be absent for struct fields.
},
],
"labelColumns": [ # Output only. Label columns that were used to train this model.
# The output of the model will have a "predicted_" prefix to these columns.
{ # A field or a column.
"type": { # The type of a variable, e.g., a function argument. # Optional. The type of this parameter. Absent if not explicitly
# specified (e.g., CREATE FUNCTION statement can omit the return type;
# in this case the output parameter does not have this "type" field).
# Examples:
# INT64: {type_kind="INT64"}
# ARRAY&lt;STRING&gt;: {type_kind="ARRAY", array_element_type="STRING"}
# STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
# {type_kind="STRUCT",
# struct_type={fields=[
# {name="x", type={type_kind="STRING"}},
# {name="y", type={type_kind="ARRAY", array_element_type="DATE"}}
# ]}}
"structType": { # The fields of this struct, in order, if type_kind = "STRUCT".
"fields": [
# Object with schema name: StandardSqlField
],
},
"arrayElementType": # Object with schema name: StandardSqlDataType # The type of the array's elements, if type_kind = "ARRAY".
"typeKind": "A String", # Required. The top level type of this field.
# Can be any standard SQL data type (e.g., "INT64", "DATE", "ARRAY").
},
"name": "A String", # Optional. The name of this field. Can be absent for struct fields.
},
],
"creationTime": "A String", # Output only. The time when this model was created, in millisecs since the epoch.
"modelType": "A String", # Output only. Type of the model resource.
"encryptionConfiguration": { # Custom encryption configuration (e.g., Cloud KMS keys). This shows the
# encryption configuration of the model data while stored in BigQuery
# storage. This field can be used with PatchModel to update encryption key
# for an already encrypted model.
"kmsKeyName": "A String", # [Optional] Describes the Cloud KMS encryption key that will be used to protect destination BigQuery table. The BigQuery Service Account associated with your project requires access to this encryption key.
},
"modelReference": { # Required. Unique identifier for this model.
"projectId": "A String", # [Required] The ID of the project containing this model.
"datasetId": "A String", # [Required] The ID of the dataset containing this model.
"modelId": "A String", # [Required] The ID of the model. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
},
"etag": "A String", # Output only. A hash of this resource.
"location": "A String", # Output only. The geographic location where the model resides. This value
# is inherited from the dataset.
"friendlyName": "A String", # Optional. A descriptive name for this model.
"expirationTime": "A String", # Optional. The time when this model expires, in milliseconds since the epoch.
# If not present, the model will persist indefinitely. Expired models
# will be deleted and their storage reclaimed. The defaultTableExpirationMs
# property of the encapsulating dataset can be used to set a default
# expirationTime on newly created models.
"lastModifiedTime": "A String", # Output only. The time when this model was last modified, in millisecs since the epoch.
}</pre>
</div>
</body></html>