Predict
Predictions can be made by calling the HTTP endpoint associated with the model deployment. The ModelDeployment
object url
attribute specifies the endpoint. You could also use the ModelDeployment
object with the .predict()
method. The format of the data that is passed to the HTTP endpoint depends on the setup of the model artifact. The default setup is to pass in a Python dictionary that has been converted to a JSON data structure. The first level defines the feature names. The second level uses an identifier for the observation (for example, row in the dataframe), and the value associated with it. Assuming the model has features F1, F2, F3, F4, and F5, then the observations are identified by the values 0, 1, and 2 and the data would look like this:
Index |
F1 |
F2 |
F3 |
F4 |
F5 |
---|---|---|---|---|---|
0 |
11 |
12 |
13 |
14 |
15 |
1 |
21 |
22 |
23 |
24 |
25 |
2 |
31 |
32 |
33 |
34 |
35 |
The Python dictionary representation would be:
test = {
'F1': { 0: 11, 1: 21, 2: 31},
'F2': { 0: 12, 1: 22, 2: 32},
'F3': { 0: 13, 1: 23, 2: 33},
'F4': { 0: 14, 1: 24, 2: 34},
'F5': { 0: 15, 1: 25, 2: 35}
}
You can use the ModelDeployment
object to call the HTTP endpoint. The returned
result is the predictions for the three observations.
deployment.predict(test)
{'prediction': [0, 2, 0]}