In a previous post, I compared the new IBM Watson Analytics with Power BI as a business intelligence and visualization tool. Watson Analytics also includes a predictive analytics tool as well so let’s compare with Microsoft’s Azure Machine Learning service (Azure ML).
Watson Analytics is a Data Discovery Tool, Azure ML is a Pseudo Development Tool
The first thing you notice immediately when using both tools is the difference in their target audience. Azure ML is targeted to developers, data scientists and very advanced business users who want to build their own analytics pipelines. It is similar to SQL SSIS or BizTalk in its user interface. It provides the ability to chain inputs, actions and outputs together into a pipeline and to visualize the data that is being processed along the way.
In contrast, IBM Watson Analytics is trying to take all of that complexity away – you just upload your file and Watson Analytics analyzes your data and tries to provide the best pipeline for you under the covers and present the results.
Using a cleaned up data set of automobile pricing data, here is what a linear regression pipeline looks like in Azure ML.
This pipeline uses a linear regression algorithm and a bayesian linear regression algorithm and compares the accuracy in predicting price from a set of existing features.
In contrast, with IBM Watson Analytics, you just upload your file and it takes care of the rest.
Azure ML is More Transparent and more Flexible
When you create a pipeline in Azure ML, you can pick and choose the algorithms that you want to run against your dataset. If you understand the differences between a linear regression algorithm vs. a bayesian linear algorithm vs. a decision forest regression, Azure ML is the tool for you. It also provides good error measurement to compare algorithms for their ability to predict against your dataset. For each algorithm, you can also various configuration parameters to tweak the algorithm and hopefully improve your model’s ability to predict reliably. You can also create specific training sets for machine learning and separate datasets for testing.
In contrast, when you upload your file to IBM Watson Analytics, you are trust IBM to pick the best algorithm for you. The tool doesn’t show you what type of algorithm has been run or how they were configured until you start digging into the detail screens:
Watson Analytics Provides Guidance on What Drives Prediction
When you upload your dataset to Watson Analytics, it provides this nice visualization to show you the different features and how they influence the predictive ability of the model.
The tool also shows fields and how they are correlated.
Watson Analytics Provides Insights Into Your Data, But Doesn’t Actually Predict
After viewing these various charts and understanding my dataset, I was interested to see how IBM Watson Analytics performed against Azure ML in actually predicting the price. However, this feature seems to be missing!
Once you see all the influencers in your dataset, there doesn’t seem to be any way to generate the predictive value.
The closest you can get seems to be a graph that shows the features as they influence the price and the average price for each combination of those features.
In contrast, Azure ML will populate your dataset with a predicted price for each row.
Azure ML Allows for Exporting, IBM Watson Analytics Does Not Export
Once you have your predicted data, you’ll want to export it to either Excel, a database or some other visualization tool. Azure ML provides many options for exporting data at any stage in the pipeline.
IBM Watson Analytics doesn’t support any exporting options at all. The export feature is listed as “coming soon”.
Azure ML Supports R and Python
Azure ML supports injection of R or Python code into your pipelines for those advanced data scientists who are developing their own algorithms. This allows for lots of interesting possibilities for transforming, scoring and evaluating data as it is moved through the pipeline.
Watson Analytics as no such feature – as a business centric tool, it provides no ability to customize at all.
Azure ML Provides the ability to Publish to a Web Service
Imagine you have done some in depth analysis and built a model that has amazing predictive power. How do you now share this or monetize it?
Azure ML provides the ability to take your experiment or machine learning model and publish it as a production ready web service. Using a REST API, your users can then supply inputs and receive a prediction as an output. You can even take your model and publish to the Azure Marketplace and charge for the model you have developed.