'Generates a prediction for the observation using the specified
`MLModel`.
Not all response parameters will be populated because this is
dependent on the type of requested model.
:type ml_model_id: string
:param ml_model_id: A unique identifier of the `MLModel`.
:type record: map
:param record: A map of variable name-value pairs that represent an
observation.
:type predict_endpoint: string
:param predict_endpoint: The endpoint to send the predict request to.'

def predict(self, ml_model_id, record, predict_endpoint):

    predict_host = urlsplit(predict_endpoint).hostname
    if (predict_host is None):
        predict_host = predict_endpoint
    params = {'MLModelId': ml_model_id, 'Record': record, 'PredictEndpoint': predict_host}
    return self.make_request(action='Predict', body=json.dumps(params), host=predict_host)
