# Prediction API . trainedmodels

## Instance Methods

Get analysis of the model and the data the model was trained on.

Delete a trained model.

Check training status of your model.

Train a Prediction API model.

List available models.

Retrieves the next page of results.

Submit model id and request a prediction.

Add new data to a trained model.

### Method Details

`analyze(project, id)`

    Get analysis of the model and the data the model was trained on.

    Args:
      project: string, The project associated with the model. (required)
      id: string, The unique name for the predictive model. (required)

    Returns:
      An object of the form:

        {
        "kind": "prediction#analyze", # What kind of resource this is.
        "errors": [ # List of errors with the data.
          {
            "a_key": "A String", # Error level followed by a detailed error message.
          },
        ],
        "dataDescription": { # Description of the data the model was trained on.
          "outputFeature": { # Description of the output value or label.
            "text": [ # Description of the output labels in the data set.
              {
                "count": "A String", # Number of times the output label occurred in the data set.
                "value": "A String", # The output label.
              },
            ],
            "numeric": { # Description of the output values in the data set.
              "count": "A String", # Number of numeric output values in the data set.
              "variance": "A String", # Variance of the output values in the data set.
              "mean": "A String", # Mean of the output values in the data set.
            },
          },
          "features": [ # Description of the input features in the data set.
            {
              "index": "A String", # The feature index.
              "text": { # Description of multiple-word text values of this feature.
                "count": "A String", # Number of multiple-word text values for this feature.
              },
              "numeric": { # Description of the numeric values of this feature.
                "count": "A String", # Number of numeric values for this feature in the data set.
                "variance": "A String", # Variance of the numeric values of this feature in the data set.
                "mean": "A String", # Mean of the numeric values of this feature in the data set.
              },
              "categorical": { # Description of the categorical values of this feature.
                "count": "A String", # Number of categorical values for this feature in the data.
                "values": [ # List of all the categories for this feature in the data set.
                  {
                    "count": "A String", # Number of times this feature had this value.
                    "value": "A String", # The category name.
                  },
                ],
              },
            },
          ],
        },
        "modelDescription": { # Description of the model.
          "confusionMatrixRowTotals": { # A list of the confusion matrix row totals.
            "a_key": "A String",
          },
          "confusionMatrix": { # An output confusion matrix. This shows an estimate for how this model will do in predictions. This is first indexed by the true class label. For each true class label, this provides a pair {predicted_label, count}, where count is the estimated number of times the model will predict the predicted label given the true label. Will not output if more then 100 classes (Categorical models only).
            "a_key": { # Confusion matrix information for the true class label.
              "a_key": "A String", # Average number of times an instance with correct class label modelDescription.confusionMatrix.(key) was wrongfully classified as this label.
            },
          },
          "modelinfo": { # Basic information about the model.
            "kind": "prediction#training", # What kind of resource this is.
            "created": "A String", # Insert time of the model (as a RFC 3339 timestamp).
            "trainingComplete": "A String", # Training completion time (as a RFC 3339 timestamp).
            "storageDataLocation": "A String", # Google storage location of the training data file.
            "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
            "storagePMMLModelLocation": "A String", # Google storage location of the pmml model file.
            "trainingStatus": "A String", # The current status of the training job. This can be one of following: RUNNING; DONE; ERROR; ERROR: TRAINING JOB NOT FOUND
            "modelInfo": { # Model metadata.
              "numberLabels": "A String", # Number of class labels in the trained model (Categorical models only).
              "meanSquaredError": "A String", # An estimated mean squared error. The can be used to measure the quality of the predicted model (Regression models only).
              "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
              "numberInstances": "A String", # Number of valid data instances used in the trained model.
              "classWeightedAccuracy": "A String", # Estimated accuracy of model taking utility weights into account (Categorical models only).
              "classificationAccuracy": "A String", # A number between 0.0 and 1.0, where 1.0 is 100% accurate. This is an estimate, based on the amount and quality of the training data, of the estimated prediction accuracy. You can use this is a guide to decide whether the results are accurate enough for your needs. This estimate will be more reliable if your real input data is similar to your training data (Categorical models only).
            },
            "storagePMMLLocation": "A String", # Google storage location of the preprocessing pmml file.
            "id": "A String", # The unique name for the predictive model.
            "selfLink": "A String", # A URL to re-request this resource.
          },
        },
        "id": "A String", # The unique name for the predictive model.
        "selfLink": "A String", # A URL to re-request this resource.
      }

`delete(project, id)`

    Delete a trained model.

    Args:
      project: string, The project associated with the model. (required)
      id: string, The unique name for the predictive model. (required)

`get(project, id)`

    Check training status of your model.

    Args:
      project: string, The project associated with the model. (required)
      id: string, The unique name for the predictive model. (required)

    Returns:
      An object of the form:

        {
        "kind": "prediction#training", # What kind of resource this is.
        "created": "A String", # Insert time of the model (as a RFC 3339 timestamp).
        "trainingComplete": "A String", # Training completion time (as a RFC 3339 timestamp).
        "storageDataLocation": "A String", # Google storage location of the training data file.
        "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
        "storagePMMLModelLocation": "A String", # Google storage location of the pmml model file.
        "trainingStatus": "A String", # The current status of the training job. This can be one of following: RUNNING; DONE; ERROR; ERROR: TRAINING JOB NOT FOUND
        "modelInfo": { # Model metadata.
          "numberLabels": "A String", # Number of class labels in the trained model (Categorical models only).
          "meanSquaredError": "A String", # An estimated mean squared error. The can be used to measure the quality of the predicted model (Regression models only).
          "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
          "numberInstances": "A String", # Number of valid data instances used in the trained model.
          "classWeightedAccuracy": "A String", # Estimated accuracy of model taking utility weights into account (Categorical models only).
          "classificationAccuracy": "A String", # A number between 0.0 and 1.0, where 1.0 is 100% accurate. This is an estimate, based on the amount and quality of the training data, of the estimated prediction accuracy. You can use this is a guide to decide whether the results are accurate enough for your needs. This estimate will be more reliable if your real input data is similar to your training data (Categorical models only).
        },
        "storagePMMLLocation": "A String", # Google storage location of the preprocessing pmml file.
        "id": "A String", # The unique name for the predictive model.
        "selfLink": "A String", # A URL to re-request this resource.
      }

`insert(project, body)`

    Train a Prediction API model.

    Args:
      project: string, The project associated with the model. (required)
      body: object, The request body. (required)
        The object takes the form of:

    {
        "storageDataLocation": "A String", # Google storage location of the training data file.
        "modelType": "A String", # Type of predictive model (classification or regression).
        "storagePMMLModelLocation": "A String", # Google storage location of the pmml model file.
        "sourceModel": "A String", # The Id of the model to be copied over.
        "storagePMMLLocation": "A String", # Google storage location of the preprocessing pmml file.
        "trainingInstances": [ # Instances to train model on.
          {
            "output": "A String", # The generic output value - could be regression or class label.
            "csvInstance": [ # The input features for this instance.
              "",
            ],
          },
        ],
        "id": "A String", # The unique name for the predictive model.
        "utility": [ # A class weighting function, which allows the importance weights for class labels to be specified (Categorical models only).
          { # Class label (string).
            "a_key": 3.14,
          },
        ],
      }

    Returns:
      An object of the form:

        {
        "kind": "prediction#training", # What kind of resource this is.
        "created": "A String", # Insert time of the model (as a RFC 3339 timestamp).
        "trainingComplete": "A String", # Training completion time (as a RFC 3339 timestamp).
        "storageDataLocation": "A String", # Google storage location of the training data file.
        "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
        "storagePMMLModelLocation": "A String", # Google storage location of the pmml model file.
        "trainingStatus": "A String", # The current status of the training job. This can be one of following: RUNNING; DONE; ERROR; ERROR: TRAINING JOB NOT FOUND
        "modelInfo": { # Model metadata.
          "numberLabels": "A String", # Number of class labels in the trained model (Categorical models only).
          "meanSquaredError": "A String", # An estimated mean squared error. The can be used to measure the quality of the predicted model (Regression models only).
          "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
          "numberInstances": "A String", # Number of valid data instances used in the trained model.
          "classWeightedAccuracy": "A String", # Estimated accuracy of model taking utility weights into account (Categorical models only).
          "classificationAccuracy": "A String", # A number between 0.0 and 1.0, where 1.0 is 100% accurate. This is an estimate, based on the amount and quality of the training data, of the estimated prediction accuracy. You can use this is a guide to decide whether the results are accurate enough for your needs. This estimate will be more reliable if your real input data is similar to your training data (Categorical models only).
        },
        "storagePMMLLocation": "A String", # Google storage location of the preprocessing pmml file.
        "id": "A String", # The unique name for the predictive model.
        "selfLink": "A String", # A URL to re-request this resource.
      }

`list(project, pageToken=None, maxResults=None)`

    List available models.

    Args:
      project: string, The project associated with the model. (required)
      pageToken: string, Pagination token.
      maxResults: integer, Maximum number of results to return.

    Returns:
      An object of the form:

        {
        "nextPageToken": "A String", # Pagination token to fetch the next page, if one exists.
        "items": [ # List of models.
          {
            "kind": "prediction#training", # What kind of resource this is.
            "created": "A String", # Insert time of the model (as a RFC 3339 timestamp).
            "trainingComplete": "A String", # Training completion time (as a RFC 3339 timestamp).
            "storageDataLocation": "A String", # Google storage location of the training data file.
            "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
            "storagePMMLModelLocation": "A String", # Google storage location of the pmml model file.
            "trainingStatus": "A String", # The current status of the training job. This can be one of following: RUNNING; DONE; ERROR; ERROR: TRAINING JOB NOT FOUND
            "modelInfo": { # Model metadata.
              "numberLabels": "A String", # Number of class labels in the trained model (Categorical models only).
              "meanSquaredError": "A String", # An estimated mean squared error. The can be used to measure the quality of the predicted model (Regression models only).
              "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
              "numberInstances": "A String", # Number of valid data instances used in the trained model.
              "classWeightedAccuracy": "A String", # Estimated accuracy of model taking utility weights into account (Categorical models only).
              "classificationAccuracy": "A String", # A number between 0.0 and 1.0, where 1.0 is 100% accurate. This is an estimate, based on the amount and quality of the training data, of the estimated prediction accuracy. You can use this is a guide to decide whether the results are accurate enough for your needs. This estimate will be more reliable if your real input data is similar to your training data (Categorical models only).
            },
            "storagePMMLLocation": "A String", # Google storage location of the preprocessing pmml file.
            "id": "A String", # The unique name for the predictive model.
            "selfLink": "A String", # A URL to re-request this resource.
          },
        ],
        "kind": "prediction#list", # What kind of resource this is.
        "selfLink": "A String", # A URL to re-request this resource.
      }

`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.

`predict(project, id, body)`

    Submit model id and request a prediction.

    Args:
      project: string, The project associated with the model. (required)
      id: string, The unique name for the predictive model. (required)
      body: object, The request body. (required)
        The object takes the form of:

    {
        "input": { # Input to the model for a prediction.
          "csvInstance": [ # A list of input features, these can be strings or doubles.
            "",
          ],
        },
      }

    Returns:
      An object of the form:

        {
        "kind": "prediction#output", # What kind of resource this is.
        "outputLabel": "A String", # The most likely class label (Categorical models only).
        "id": "A String", # The unique name for the predictive model.
        "outputMulti": [ # A list of class labels with their estimated probabilities (Categorical models only).
          {
            "score": "A String", # The probability of the class label.
            "label": "A String", # The class label.
          },
        ],
        "outputValue": "A String", # The estimated regression value (Regression models only).
        "selfLink": "A String", # A URL to re-request this resource.
      }

`update(project, id, body)`

    Add new data to a trained model.

    Args:
      project: string, The project associated with the model. (required)
      id: string, The unique name for the predictive model. (required)
      body: object, The request body. (required)
        The object takes the form of:

    {
        "output": "A String", # The generic output value - could be regression or class label.
        "csvInstance": [ # The input features for this instance.
          "",
        ],
      }

    Returns:
      An object of the form:

        {
        "kind": "prediction#training", # What kind of resource this is.
        "created": "A String", # Insert time of the model (as a RFC 3339 timestamp).
        "trainingComplete": "A String", # Training completion time (as a RFC 3339 timestamp).
        "storageDataLocation": "A String", # Google storage location of the training data file.
        "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
        "storagePMMLModelLocation": "A String", # Google storage location of the pmml model file.
        "trainingStatus": "A String", # The current status of the training job. This can be one of following: RUNNING; DONE; ERROR; ERROR: TRAINING JOB NOT FOUND
        "modelInfo": { # Model metadata.
          "numberLabels": "A String", # Number of class labels in the trained model (Categorical models only).
          "meanSquaredError": "A String", # An estimated mean squared error. The can be used to measure the quality of the predicted model (Regression models only).
          "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
          "numberInstances": "A String", # Number of valid data instances used in the trained model.
          "classWeightedAccuracy": "A String", # Estimated accuracy of model taking utility weights into account (Categorical models only).
          "classificationAccuracy": "A String", # A number between 0.0 and 1.0, where 1.0 is 100% accurate. This is an estimate, based on the amount and quality of the training data, of the estimated prediction accuracy. You can use this is a guide to decide whether the results are accurate enough for your needs. This estimate will be more reliable if your real input data is similar to your training data (Categorical models only).
        },
        "storagePMMLLocation": "A String", # Google storage location of the preprocessing pmml file.
        "id": "A String", # The unique name for the predictive model.
        "selfLink": "A String", # A URL to re-request this resource.
      }