# Prediction API . training

## Instance Methods

Delete a trained model

Check training status of your model

Begin training your model

Submit data and request a prediction

Add new data to a trained model

### Method Details

`delete(data)`

    Delete a trained model

    Args:
      data: string, mybucket/mydata resource in Google Storage (required)

`get(data)`

    Check training status of your model

    Args:
      data: string, mybucket/mydata resource in Google Storage (required)

    Returns:
      An object of the form:

        {
          "kind": "prediction#training", # What kind of resource this is.
          "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.
            "confusionMatrixRowTotals": { # A list of the confusion matrix row totals
              "a_key": 3.14, # The true class associated with how many instances it had
            },
            "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": { # The true class label.
                "a_key": 3.14, # The pair {predicted_label, count}.
              },
            },
            "meanSquaredError": 3.14, # 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.
            "numberClasses": "A String", # Number of classes in the trained model [Categorical models only].
            "classWeightedAccuracy": 3.14, # Estimated accuracy of model taking utility weights into account [Categorical models only].
            "classificationAccuracy": 3.14, # 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].
          },
          "id": "A String", # The unique name for the predictive model.
          "selfLink": "A String", # A URL to re-request this resource.
          "utility": [ # A class weighting function, which allows the importance weights for classes to be specified [Categorical models only].
            { # Class label (string).
              "a_key": 3.14,
            },
          ],
        }

`insert(body)`

    Begin training your model

    Args:
      body: object, The request body. (required)
        The object takes the form of:

    {
        "kind": "prediction#training", # What kind of resource this is.
        "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.
          "confusionMatrixRowTotals": { # A list of the confusion matrix row totals
            "a_key": 3.14, # The true class associated with how many instances it had
          },
          "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": { # The true class label.
              "a_key": 3.14, # The pair {predicted_label, count}.
            },
          },
          "meanSquaredError": 3.14, # 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.
          "numberClasses": "A String", # Number of classes in the trained model [Categorical models only].
          "classWeightedAccuracy": 3.14, # Estimated accuracy of model taking utility weights into account [Categorical models only].
          "classificationAccuracy": 3.14, # 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].
        },
        "id": "A String", # The unique name for the predictive model.
        "selfLink": "A String", # A URL to re-request this resource.
        "utility": [ # A class weighting function, which allows the importance weights for classes 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.
          "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.
            "confusionMatrixRowTotals": { # A list of the confusion matrix row totals
              "a_key": 3.14, # The true class associated with how many instances it had
            },
            "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": { # The true class label.
                "a_key": 3.14, # The pair {predicted_label, count}.
              },
            },
            "meanSquaredError": 3.14, # 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.
            "numberClasses": "A String", # Number of classes in the trained model [Categorical models only].
            "classWeightedAccuracy": 3.14, # Estimated accuracy of model taking utility weights into account [Categorical models only].
            "classificationAccuracy": 3.14, # 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].
          },
          "id": "A String", # The unique name for the predictive model.
          "selfLink": "A String", # A URL to re-request this resource.
          "utility": [ # A class weighting function, which allows the importance weights for classes to be specified [Categorical models only].
            { # Class label (string).
              "a_key": 3.14,
            },
          ],
        }

`predict(data, body)`

    Submit data and request a prediction

    Args:
      data: string, mybucket/mydata resource in Google Storage (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 [Categorical models only].
        "id": "A String", # The unique name for the predictive model.
        "outputMulti": [ # A list of classes with their estimated probabilities [Categorical models only].
          {
            "score": 3.14, # The probability of the class.
            "label": "A String", # The class label.
          },
        ],
        "outputValue": 3.14, # The estimated regression value [Regression models only].
        "selfLink": "A String", # A URL to re-request this resource.
      }

`update(data, body)`

    Add new data to a trained model

    Args:
      data: string, mybucket/mydata resource in Google Storage (required)
      body: object, The request body. (required)
        The object takes the form of:

    {
        "classLabel": "A String", # The true class label of this instance
        "csvInstance": [ # The input features for this instance
          "",
        ],
      }

    Returns:
      An object of the form:

        {
          "kind": "prediction#training", # What kind of resource this is.
          "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.
            "confusionMatrixRowTotals": { # A list of the confusion matrix row totals
              "a_key": 3.14, # The true class associated with how many instances it had
            },
            "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": { # The true class label.
                "a_key": 3.14, # The pair {predicted_label, count}.
              },
            },
            "meanSquaredError": 3.14, # 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.
            "numberClasses": "A String", # Number of classes in the trained model [Categorical models only].
            "classWeightedAccuracy": 3.14, # Estimated accuracy of model taking utility weights into account [Categorical models only].
            "classificationAccuracy": 3.14, # 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].
          },
          "id": "A String", # The unique name for the predictive model.
          "selfLink": "A String", # A URL to re-request this resource.
          "utility": [ # A class weighting function, which allows the importance weights for classes to be specified [Categorical models only].
            { # Class label (string).
              "a_key": 3.14,
            },
          ],
        }