In this project AzureML is used to train a model based on marketing data from a bank. A selection of the optimal model is made and deployed as a REST endpoint. Different methods of consuming the endpoint are show. Finally the creation of a complete end to end deployment is done using the Python SDK.
In AzureML studio, a dataset containing marketing data is uploaded and a 'run' is configured where a dataset and a target column is specified.
From all the training methods used by AutoML, the Voting Ensemble has the highest accuracy.
The Voting Ensamble model is deployed and exposes a REST endpoint, with supporting swagger definition
Using Swagger UI we can see the endpoints and expected data format for those endpoint.
To see if the proposed crul command of the Swagger file works, Here we are directly making a post request with curl
Calling the endpoint from a python sript also works
To enable logging for the REST endpoint, a Python script is used that enables application insights, then we check the UI to see if logging is actually enabled
Using the iPython notebook, a pipeline is generated that is visible as a graph in AzureML studio.
The pipelines generated by the SDK are visible in AzureML studio. Here we see the active pipelines and the published pipeline endpoint
Documentation depends on company standards, but would preferably be accessible on a portal/intranet
First autoML gives a class balancing detection alert. This should be solved by supplying an equal amount of records that nave the label 'No' as the label 'Yes'. Currently there are 7.9 times as much records with a 'No' label as there are with the label 'Yes'
Secondly it is an option to train longer and maybe even try if the neural network option gives better results.
Recording of all the steps taken in this project. Here are the timestamped subjects
1 Working deployed ML model endpoint 2 Deployed Pipeline 3 Available AutoML Model 4 Successful API requests to the endpoint with a JSON payload
See https://github.com/fuzzballb/nd00333_AZMLND_C2/blob/master/starter_files/aml-pipelines-with-automated-machine-learning-step.ipynb for an overview of the steps executed in the Notebook