Auto ML

This article discusses Automated Machine Learning and reducing time to obtaining accurate insight with low code. From the basics of What Automated Machine Learning really is to its use cases, various algorithms, and numerous other services and technical subjects for the Azure Automated Machine Learning are explained here.
 

Automated Machine Learning

 
Automated Machine Learning (Auto ML) refers to automating the machine learning model development process which is mostly iterative and extremely time-consuming which enables developers, analysts, and data scientists to build highly scalable, efficient, and productive Machine Learning Models. Azure provides the feature of Auto ML which makes it easier to obtain production-ready Machine Learning Models without having to spend much time. Dozens of Models can be created and compared at the same time with the accurate ones to be decided for usage.
 

Use Cases of Automated Machine Learning

 
Auto ML is mostly used when we need to qualify a threshold of the accuracy of a metric target for our model which Azure Machine Learning enables us to do by training and tuning models using multitudes of different algorithms parallelly.
 
The Azure Auto ML has democratized the usage of Machine Learning tools irrespective of the experience of the individuals performing the solutions and helped by providing the end-to-end machine learning pipeline for ranges of problems to be solved.
 
Classification
 
Classification is one of the supervised learning approaches to classify the data into a specific category. The system to classify data into spam, fraud detection, object detection are usually classification problems.
 
Regression
 
Unlike Classification, regression is the process to build the relationship between variables to predict continuous value. It can be broken down into Linear and Logistic Regression.
 
To learn about these different regressions and their examples using R Programming, check the previous article Data Wrangling And Visualization In R.
 
Forecast
 
In Machine Learning, the forecast is mostly done on time-series with the prediction of numerous business-related metrics ranging from revenue, sales, demands of the customer, sales, and more. Thus, they are extensively used for forecasting demands, sales, and so on.
 

Example Scenario

 
Let us consider how to predict the cost of a home. This price would depend on various features about the house depending on the location, size, year build, materials used, amenities, and many more. For this, we would need a dataset of other homes and their pricing with its different features to train the model based on this data and learn from it.
 
Some of the examples of the dataset of the homes would hold the data about the features such as,
  • Features
  • Location
  • Size
  • Year Built
  • Materials Used
  • Amenities
  • Total No of Rooms
  • Total No of Baths
  • Total No of Half Baths
  • Total No of Car Parking Available
  • Garden Size
Now, for Automated Machine Learning, we would choose the algorithm to run on. Depending upon the need, we would select an algorithm. Some of the examples of widely used ones are:
 

Algorithms

 
Gradient Boosted
 
Gradient Boosting typically uses decision trees to solve classification and regression-related problems. It is a technique for machine learning that is used to produce prediction models using the best possible next model in combination with previous models with the belief to reduce the prediction error.
 
Nearest Neighbor
 
The nearest neighbor algorithm helps solve the traveling salesman problem approximation. The k-nearest neighbor's algorithm is widely used for regression and classification problems.
 
Support Vector Machine (SVM)
 
The support vector machine is an algorithm which helps to analyze data for regression and classification analysis and is a supervised learning model. It can be used to solve both linear and non-linear classification problems. The Support Vector Clustering algorithm is an extension of SVM which is an unsupervised approach to categorize unlabeled data and is extensively used in the industry today.
 
Auto ML
 
Bayesian Regression
 
Bayesian linear regression uses statistical analysis of Bayesian inference to solve with the approach to linear regression. Unlike Linear Regression alone which uses point estimates value, Bayesian regression uses probability distribution for its approach.
 
Gradient Descent
 
Gradient Descent algorithm helps to find the local minimum of a differentiable function with its first-order iterative optimization technique. It uses the approach of taking iterative steps in the reverse direction of the gradient of the function at the current point as it is the direction of the steepest descent. It can be understood as an optimization algorithm which is based on the convex function. It occurs widely in the backpropagation phase while working with a neural network for minimizing the cost function.
 
Auto ML
 
LGBM
 
Light Gradient Boosted Machine Algorithm (LGBM) is widely used for classification, ranking, and many other machine learning tasks which is a high-performance gradient boosted framework that is based on decision tree algorithm and is fast, as it processes using Histogram based splitting, gradient-based one-side sampling (GOSS) and exclusive feature bundling (EFB).
 
Depending upon the parameters, we then calculate the final prediction value model. Some of the parameters can be,
  • Parameters
  • Criterion
  • Loss
  • Min Samples Split
  • Min Samples Leaf
  • Others
We know, for the average developer/ scientist, the model creation is typically a time–consuming task. Automated ML supports to runs all the models simultaneously for a specific time being and choose the best accurate model. This can be done in basically 3 steps.
 
Step 1 - Input
  • Enter Data
  • Define Goals
  • Apply Constraints
Step 2 - Intelligent Test Multiple Models in Parallel
 
Step 3 - Output
  • Optimized Model

How to use Azure Auto ML?

 
Azure Automated Machine Learning and ML Studio is a service that comes in Enterprise only unlike the basic premium version. You can use the Azure Pricing Calculator to help you find out the cost of the monthly bill.
 

Low Code Development Platform (LCDP)

 
Low Code Development Platforms are the platform/ environments such as the Azure Machine Learning Studio which enables the development and creation of applications just using a graphical user interface rather than the traditional hand-coding programs.
 

Azure Machine Learning Studio

 
The Azure Machine Learning Studio is mostly dedicated to developers and data scientists which provide a graphical user interface-based platform to construct and use the workflows to solve Machine Learning problems through Azure services.
 
There are some grounds, a beginner needs to be clear while using Azure ML Studio to solve problems. Some of these key topics are detailed as follows. 
 
Datasets
 
The datasets can be in many forms such as CSVs which consist of hundreds of data to train models for Machine Learning. They are basically a collection of values or numbers which relate to specific subjects.
 
Auto ML
 
If you want to know more about Automated Machine Learning in Azure Machine Learning Studio, check out this video.
 
Experiments
 
The experiments on Azure ML are the numbers of trails which are used to validate hypothesis made by the user. The models are created, data is prepared, the features are defined and the models are then trained using various algorithms. Later, the individual models are tested and scored to find out the best model to predict our required values.
Compute Type: Azure ML provides a completely managed workstation which is cloud-based which can be set up using ACI and AKS.
 

Azure Container Instances (ACI)

 
Without the need to having to learn any new tools, teams can now develop apps faster with Azure Container Instance running it in the cloud. The servers don’t need to be managed as the infrastructure is all looked upon by Microsoft itself and provides the additional functionality of increased agility on demand depending upon the workloads and also provides a secure system that runs on the isolated system just like virtual machines without sharing kernel.
 

Azure Kubernetes Service (AKS)

 
Azure Kubernetes Service provides the facility to manage and deploy our containerized application with complete Kubernetes Service. It offers CI/ CD – Integrated Continuous Integration and Continuous Delivery, serverless architecture, and enterprise-level security for our applications. It provides features for Microservices, DevOps, and even support to train Machin Learning Models.
 
If you want to learn more about Containers in Azure, Read the previously published article, Containers, and Container-Orchestration in Azure.

Jupyter Notebook
 
Jupyter Notebook is an amalgamation of an IDE and also an educational tool for presentation which is used extensively and widely mostly for programming for scientific computing.
 
API
 
Application Programming Interface (API) is basically just an interface through which two systems – software applications or hardware-software intermediary can communicate to each other.
 
JSON
 
JSON is the abbreviation of JavaScript Object Notation which is widely used to transfer data between web pages and servers. It is an open standard file format which is readable in text my humans and acts as a mean to store and transport data.
 
REST API Call
 
REST is the abbreviation for “Representational State Transfer”, a creation of computer scientist named Roy Fielding. The RESTful API is basically an API that agrees to the constraints set by REST architecture and thus enables the interaction with RESTful services on the internet.
 
REST Endpoint
 
An endpoint URL is contained in the RESTful web service request. As the name suggests, an endpoint is basically a communication channel’s one end. The touchpoints of the interactions when one API interacts with another system are known as endpoints.
 
Swagger UI
 
Swagger UI enables visualization and interaction of API’s resources which are dependency-free, easy to navigate, and implement the connection of backend for consumption from the client-side.
 
Postman
 
Postman supports the API development process by enabling developers with a collaboration platform that supports monitoring the health of APIs and allows them to easily send SOAP, GraphQL, SOAP, and REST. Postman also allows the integration of automated tests into the Continuous Integration (CI) and Continuous Delivery (CD) pipelines.
 
Auto ML
 
CI/CD
 
Continuous Integration and Continuous Delivery (CI/CD) is a DevOps practice used extensively today where code changes are frequently merged into a central repository where automated tests and builds run. Howsoever, the CD can also mean continuous deployment.
 
Thus, in this article, we learned about multitudes of topics within Automated Machine Learning, its usage, the extensively used algorithms in Machine Learning, Low Code Development Platform, and in detail about the Azure Machine Learning Studio and the processes underneath followed in this studio. We also then learned about API and various tools related to APIs.
 
References
  • https://learning.postman.com/docs/sending-requests/visualizer/
  • https://www.coursera.org/learn/machine-learning
  • https://nlp.stanford.edu/IR-book/html/htmledition/support-vector-machines-the-linearly-separable-case-1.html