Getting Started with Machine Learning and Kubernetes
Analysing Big Data and making Predictions out of the data requires Machine Learning Algorithms that can be trained.
In Data Science, there are lots of Machine Learning Models and Algorithms available like Regression, Classification, Segmentation, etc.
Web Platforms make it easy for users to use the Machine Learning Models with an Interactive Web Interface. Python web APIs provide a great way for this and make our task easier. Basically, it gives web UI solutions for the users to train models and make predictions.
Flask - Python Microframework
Flask framework is great and easy to use with python APIs. Flask is a microframework for Python. It is based on Werkzeug, Jinja 2.
Kubernetes
Kubernetes provides libraries for python which can be used to perform various actions of Kubernetes. Python Client Library for Kubernetes allows us to create new pods and delete pods accordingly.
Building Machine Learning Models
The Data Scientists keeps on building models but the major problem for them is how to use these models. They need a Platform where -
-
They can train any models based on the input data and then run prediction algorithms to do forecasting.
-
Interactive Web UI so that they can easily run models by just clicking a button.
-
Capable of handling several requests at the same time and there should be no conflicts in the results.
Solution Offered for Building Prediction Platform
As the problem demands a Platform which can be used to run any model. So we build an API which gives us this utility to train models and then use these models for prediction.
-
API allows user to upload data. The information of this data is saved in the database.
-
After uploading data when the user hits the train button, the API launches a kubernetes pod to process the training of the model.
-
On the prediction web page, API provides an option to run available models. Users can upload files as input data and can run any of the available models on this uploaded data.
-
As the user clicks on the prediction button, Kubernetes pods are launched.
-
The pod then gets information about the input data from the database and downloads the appropriate model (which the user selected) from the Cloud.
-
After that, it processes the input data with this model and generates the prediction result. This result is saved in the database.