delete(projectId=*, datasetId=*, modelId=*)
Deletes the model specified by modelId from the dataset.
get(projectId=*, datasetId=*, modelId=*)
Gets the specified model resource by model ID.
list(projectId=*, datasetId=*, pageToken=None, maxResults=None)
Lists all models in the specified dataset. Requires the READER dataset
list_next(previous_request=*, previous_response=*)
Retrieves the next page of results.
patch(projectId=*, datasetId=*, modelId=*, body=None)
Patch specific fields in the specified model.
delete(projectId=*, datasetId=*, modelId=*)
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)
get(projectId=*, datasetId=*, modelId=*)
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: { "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<STRING>: {type_kind="ARRAY", array_element_type="STRING"} # STRUCT<x STRING, y ARRAY<DATE>>: # {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. }, ], "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. "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. "centroidId": "A String", # Centroid id. "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. "count": "A String", # The count of training samples matching the category within the # cluster. "category": "A String", # The name of category. }, ], }, }, ], }, ], "daviesBouldinIndex": 3.14, # Davies-Bouldin index. }, "regressionMetrics": { # Evaluation metrics for regression and explicit feedback type matrix # Populated for regression models and explicit feedback type matrix # factorization models. # factorization models. "rSquared": 3.14, # R^2 score. "meanAbsoluteError": 3.14, # Mean absolute error. "meanSquaredError": 3.14, # Mean squared error. "medianAbsoluteError": 3.14, # Median absolute error. "meanSquaredLogError": 3.14, # Mean squared log error. }, "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. "trueNegatives": "A String", # Number of true samples predicted as false. "precision": 3.14, # The fraction of actual positive predictions that had positive actual # labels. "falseNegatives": "A String", # Number of false samples predicted as false. "recall": 3.14, # The fraction of actual positive labels that were given a positive # prediction. "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. "entries": [ # Info describing predicted label distribution. { # A single entry in the confusion matrix. "predictedLabel": "A String", # The predicted label. For confidence_threshold > 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. }, ], "actualLabel": "A String", # The original label of this row. }, ], }, ], }, }, "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() <= 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. "userColumn": "A String", # User column specified for matrix factorization models. "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. "numClusters": "A String", # Number of clusters for clustering 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. "learnRate": 3.14, # Learning rate in training. Used only for iterative training algorithms. "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 "dropout": 3.14, # Dropout probability for dnn models. "warmStart": True or False, # Whether to train a model from the last checkpoint. "hiddenUnits": [ # Hidden units for dnn models. "A String", ], "lossType": "A String", # Type of loss function used during training run. "feedbackType": "A String", # Feedback type that specifies which algorithm to run for matrix # factorization. "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, }, "l1Regularization": 3.14, # L1 regularization coefficient. "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. "maxTreeDepth": "A String", # Maximum depth of a tree for boosted tree models. }, }, ], "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<STRING>: {type_kind="ARRAY", array_element_type="STRING"} # STRUCT<x STRING, y ARRAY<DATE>>: # {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. }, ], "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", }, "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. }
list(projectId=*, datasetId=*, pageToken=None, maxResults=None)
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. { "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<STRING>: {type_kind="ARRAY", array_element_type="STRING"} # STRUCT<x STRING, y ARRAY<DATE>>: # {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. }, ], "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. "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. "centroidId": "A String", # Centroid id. "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. "count": "A String", # The count of training samples matching the category within the # cluster. "category": "A String", # The name of category. }, ], }, }, ], }, ], "daviesBouldinIndex": 3.14, # Davies-Bouldin index. }, "regressionMetrics": { # Evaluation metrics for regression and explicit feedback type matrix # Populated for regression models and explicit feedback type matrix # factorization models. # factorization models. "rSquared": 3.14, # R^2 score. "meanAbsoluteError": 3.14, # Mean absolute error. "meanSquaredError": 3.14, # Mean squared error. "medianAbsoluteError": 3.14, # Median absolute error. "meanSquaredLogError": 3.14, # Mean squared log error. }, "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. "trueNegatives": "A String", # Number of true samples predicted as false. "precision": 3.14, # The fraction of actual positive predictions that had positive actual # labels. "falseNegatives": "A String", # Number of false samples predicted as false. "recall": 3.14, # The fraction of actual positive labels that were given a positive # prediction. "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. "entries": [ # Info describing predicted label distribution. { # A single entry in the confusion matrix. "predictedLabel": "A String", # The predicted label. For confidence_threshold > 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. }, ], "actualLabel": "A String", # The original label of this row. }, ], }, ], }, }, "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() <= 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. "userColumn": "A String", # User column specified for matrix factorization models. "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. "numClusters": "A String", # Number of clusters for clustering 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. "learnRate": 3.14, # Learning rate in training. Used only for iterative training algorithms. "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 "dropout": 3.14, # Dropout probability for dnn models. "warmStart": True or False, # Whether to train a model from the last checkpoint. "hiddenUnits": [ # Hidden units for dnn models. "A String", ], "lossType": "A String", # Type of loss function used during training run. "feedbackType": "A String", # Feedback type that specifies which algorithm to run for matrix # factorization. "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, }, "l1Regularization": 3.14, # L1 regularization coefficient. "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. "maxTreeDepth": "A String", # Maximum depth of a tree for boosted tree models. }, }, ], "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<STRING>: {type_kind="ARRAY", array_element_type="STRING"} # STRUCT<x STRING, y ARRAY<DATE>>: # {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. }, ], "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", }, "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. }, ], }
list_next(previous_request=*, previous_response=*)
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.
patch(projectId=*, datasetId=*, modelId=*, body=None)
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: { "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<STRING>: {type_kind="ARRAY", array_element_type="STRING"} # STRUCT<x STRING, y ARRAY<DATE>>: # {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. }, ], "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. "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. "centroidId": "A String", # Centroid id. "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. "count": "A String", # The count of training samples matching the category within the # cluster. "category": "A String", # The name of category. }, ], }, }, ], }, ], "daviesBouldinIndex": 3.14, # Davies-Bouldin index. }, "regressionMetrics": { # Evaluation metrics for regression and explicit feedback type matrix # Populated for regression models and explicit feedback type matrix # factorization models. # factorization models. "rSquared": 3.14, # R^2 score. "meanAbsoluteError": 3.14, # Mean absolute error. "meanSquaredError": 3.14, # Mean squared error. "medianAbsoluteError": 3.14, # Median absolute error. "meanSquaredLogError": 3.14, # Mean squared log error. }, "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. "trueNegatives": "A String", # Number of true samples predicted as false. "precision": 3.14, # The fraction of actual positive predictions that had positive actual # labels. "falseNegatives": "A String", # Number of false samples predicted as false. "recall": 3.14, # The fraction of actual positive labels that were given a positive # prediction. "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. "entries": [ # Info describing predicted label distribution. { # A single entry in the confusion matrix. "predictedLabel": "A String", # The predicted label. For confidence_threshold > 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. }, ], "actualLabel": "A String", # The original label of this row. }, ], }, ], }, }, "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() <= 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. "userColumn": "A String", # User column specified for matrix factorization models. "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. "numClusters": "A String", # Number of clusters for clustering 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. "learnRate": 3.14, # Learning rate in training. Used only for iterative training algorithms. "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 "dropout": 3.14, # Dropout probability for dnn models. "warmStart": True or False, # Whether to train a model from the last checkpoint. "hiddenUnits": [ # Hidden units for dnn models. "A String", ], "lossType": "A String", # Type of loss function used during training run. "feedbackType": "A String", # Feedback type that specifies which algorithm to run for matrix # factorization. "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, }, "l1Regularization": 3.14, # L1 regularization coefficient. "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. "maxTreeDepth": "A String", # Maximum depth of a tree for boosted tree models. }, }, ], "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<STRING>: {type_kind="ARRAY", array_element_type="STRING"} # STRUCT<x STRING, y ARRAY<DATE>>: # {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. }, ], "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", }, "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: { "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<STRING>: {type_kind="ARRAY", array_element_type="STRING"} # STRUCT<x STRING, y ARRAY<DATE>>: # {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. }, ], "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. "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. "centroidId": "A String", # Centroid id. "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. "count": "A String", # The count of training samples matching the category within the # cluster. "category": "A String", # The name of category. }, ], }, }, ], }, ], "daviesBouldinIndex": 3.14, # Davies-Bouldin index. }, "regressionMetrics": { # Evaluation metrics for regression and explicit feedback type matrix # Populated for regression models and explicit feedback type matrix # factorization models. # factorization models. "rSquared": 3.14, # R^2 score. "meanAbsoluteError": 3.14, # Mean absolute error. "meanSquaredError": 3.14, # Mean squared error. "medianAbsoluteError": 3.14, # Median absolute error. "meanSquaredLogError": 3.14, # Mean squared log error. }, "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. "trueNegatives": "A String", # Number of true samples predicted as false. "precision": 3.14, # The fraction of actual positive predictions that had positive actual # labels. "falseNegatives": "A String", # Number of false samples predicted as false. "recall": 3.14, # The fraction of actual positive labels that were given a positive # prediction. "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. "entries": [ # Info describing predicted label distribution. { # A single entry in the confusion matrix. "predictedLabel": "A String", # The predicted label. For confidence_threshold > 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. }, ], "actualLabel": "A String", # The original label of this row. }, ], }, ], }, }, "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() <= 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. "userColumn": "A String", # User column specified for matrix factorization models. "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. "numClusters": "A String", # Number of clusters for clustering 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. "learnRate": 3.14, # Learning rate in training. Used only for iterative training algorithms. "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 "dropout": 3.14, # Dropout probability for dnn models. "warmStart": True or False, # Whether to train a model from the last checkpoint. "hiddenUnits": [ # Hidden units for dnn models. "A String", ], "lossType": "A String", # Type of loss function used during training run. "feedbackType": "A String", # Feedback type that specifies which algorithm to run for matrix # factorization. "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, }, "l1Regularization": 3.14, # L1 regularization coefficient. "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. "maxTreeDepth": "A String", # Maximum depth of a tree for boosted tree models. }, }, ], "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<STRING>: {type_kind="ARRAY", array_element_type="STRING"} # STRUCT<x STRING, y ARRAY<DATE>>: # {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. }, ], "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", }, "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. }