What are the disadvantages of Azure's ML vs a pure code approach (R/SKlearn)

Good Day,

Microsoft offers their Azure Machine Learning Platform: https://azure.microsoft.com/en-ca/services/machine-learning/

Azure Machine Learning is designed for applied machine learning. Use best-in-class algorithms and a simple drag-and-drop interface—and go from idea to deployment in a matter of clicks.

...

Use Azure Machine Learning to deploy your model into production as a web service in minutes—a web service that can be called from any device, anywhere, and that can use any data source.

By their demo and their photos online it looks like a simple GUI application you can drag and drop your various pre-processing elements, estimators, and testing schemes and appears to make it easy to get started on Machine learning projects.

What no website selling a product will do is advertise their downsides. With a GUI like Weka you lack the ability to fine tune and tweek the different parameters.

Azure ML seems to allow hooks into Python or R to give you more control and it sure would be appealing to have to do less work to get the same results.


What are the known disadvantages of using Azure ML for ML projects vs writing the same process in code (e.g. Sci-kit Learn or in R)?

Topic software-recommendation machine-learning

Category Data Science


Disadvantages:- 1.) You only get a limited number of algorithms and preprocessing steps to work with in Azure ML. This is really not a disadvantage as you can use Azure ML Python SDK to build your own model (just like you would on your laptop).

Advantages:- 1.) You do not need to buy a high end computer if your dataset is large. You can use a budget laptop to build complex models which require high computational power and large amount of memory.

2.) If you do not prefer coding and want to build a model in a short amount of time, then you can using Auto ML or the Designer option as long as it has the models that you want to train.

PS: people talking about price being a disadvantage don't know what they are talking about. I would even consider this as an advantage if you are a serious Data Scientist. Why buy a high end and costly computer/laptop when you can do the same thing on Azure with a fraction of the cost. This only applies to those who frequently encounter and work with Big Data and require large amount of computational power and memory.

If you are routinely working with small to medium datasets, you can usually build them and train on your laptop.


Disadvantages:

  • Price. This is a cloud service, and therefore, it will cost you money if you wish to use it for more "serious" projects.
  • Limited storage in the free version.
  • It only has a limited number of techniques built-in, and as you mentioned with Weka, often, life can be made easier if you can simply go straight into the code to tweak things.
  • Azure ML is a high-level tool, which therefore grants you less control over you can do. The custom code functionality is nice, but not truly what it was intended for. If you can write custom code, it probably means that you shouldn't use Azure ML anymore.

Let's not be too pessimistic, however, as it also has plenty of advantages.

Advantages:

  • Very easy for "outsiders" and beginners to understand how a classification pipeline (data transformation, preprocessing, feature extraction etc.) works as it is visual and they can even build it themselves
  • Allows you to deploy a model that you can later use in a web application later on
  • Since this is an Azure product, it gives you a quick access to creating cloud solutions very easily

I learned the Azure ML platform after scikit-learn (Python) and caret (R).

Advantages:

  • Low or no coding involved. It is more like Orange in that you set up the ML exercise as a large process flow. It is easier for non-technical people to get started with.
  • Easy to convert to production-ready. You click a button and it deploys a web-service that you could send to a programmer to use. In Python, you would need to add another library and in R it is even dicier.

Disadvantages:

  • Fewer algorithms (e.g. no XGBoost) and other transformations (e.g. NLP) built-in. You can of course reference Python and R to do this, but that is much tougher than using the GUI. If you can figure out how to call Python/R from within Azure ML, you likely can do it on your own.
  • Price.

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.