Part II: Predictive Maintenance using Azure ML
Introducing Azure ML
Microsoft Azure Machine Leaning (Azure ML) is a cloud-based tool for doing advanced analytics. Azure ML contains a wide variety of algorithms you can apply to your data to provide criteria for making decisions.
Azure ML supports Supervised Learning. In Supervised Learning you have a dataset with known responses which you use to find a model that correctly maps the values in your known dataset to the correct responses. Then afterwards you can apply this model to datasets without known responses to get predicted responses.
In Supervised Learning you have two categories of analytics:
In classification the objective is to make true/false or a/b/c like predictions on data.
In regression the objective is to find a relationship between some input variables and the output variable, i.e. the variable we want to predict
When dealing with classification problems, where you want to apply neural networks or decision trees, supervised learning is often required to train the network and deterine the error level.
In Unsupervised Learning you do not have a set of known results you can use for training. Typically you have a dataset where you want to find patterns or similarities so you can partition you data. This process is called clustering.
In this articel we will focus on Supervised Learning.
The steps involved in getting Azure ML up running is:
- Feed Azure ML with some data, either historical or current data.
There are a variety of ways to make your data available to Azure ML where the trivial approach is to simply upload your data set to Azure ML.
Azure ML also supports cleaning your data like removing duplicates, removing columns not relevant for your analyses etc.
- Define the model that will be used to make predictions
This is of course the most important step and also the step where at least some understanding of Machine Learning is required. Here we build a model which depends on whether we are dealing with supervised or unsupervised learning and whether we are dealing with for instance a classification or a regression problem.
An example of a model could be to predict if a machine problem is mechanical or electrical. This is a classic classification problem.
- In the case of supervised learning we need to train our model on our known dataset.
Typically you use 80% of your known data for training and then 20% for validation.
- Validate the model using known data.
Apply your model to part of the data you set aside for validation to test if the model is able to predict known results.
- If the model performance is “adequate” (i.e. it is able to make correct predictions on known data at an acceptable rate) expose the model to real time data
Azure ML allows you to expose your model as a web service to make it consumable for other software components or to people without Azure ML access or competencies.
Now that we understand what predictive maintenance is about and we understand the basics of Azure ML lets move on to actually feed Azure ML with some maintenance related data so we can get our model constructed!
PS: Credit to Tomas Grubliauskas for providing the hardcore background material for these posts!