Machine Learning workshop
During an evening pizza-n-workshop event at Valid, I got my first hands-on experience with (a part of) Microsoft’s toolbelt for Machine Learning.
Together with other promising technologies (like Chatbots, speech to text and Natural Language Processing) Machine learning is promising to be the next big innovation for upcoming services and applications.
I am not affiliated with Microsoft, and both my view and perception of my experience with tools and services used in this article are my own.
As Gartner states:
By 2018, 30% of our interactions with technology will be through “conversations” with smart machines – Gartner, Market Trends: Voice as a UI on Consumer Devices
This means AI and Machine Learning is – and will be – serious business. Gartner’s prediction indicates that end users will massively adopt these technologies that enable humans to interact with their computers and smart devices in “a more natural” fashion. Although I quoted the natural part, I’m sure that within the next 2 to 5 years we sometimes will not be able to identify a chatbot from a real human being.
Within the next 2 to 5 years we sometimes will not be able to identify a chatbot from a real human being – EEKAY ONLINE
During the workshop, I got a first impression and hands-on experience with Microsoft’s Azure Machine Learning proposition.
Want to find out what tools I used and how easy it seems to be to create your first data analyzing and learning web service?
Check it out after the break.
Machine Learning doesn’t have to be hard
Microsoft worked hard, it seems, on bringing new technologies like Machine Learning within everybody’s reach. By creating relatively easy-to-use online applications you might be amazed how fast you can put something together and get results. I know I am.
For Microsoft, the tool that brings Azure Machine Learning into your hands is called Azure Machine Learning Studio. It is a tool that appears to be bearing lots of options and functionality, but it doesn’t leave the user lost in a complex interface. One can’t stop but notice the nice UX that it brings, every workflow item with a clean and concise help text. Even for me (a Mobile developer with zero experience on Machine Learning so far) it felt like a warm bath (full of data) I was stepping into.
Microsoft decided to crush down the barriers even further, by providing a free tier ($0 p/month) and even created a “guest tier” that enables you to try out the Machine Learning Studio for 8 hours free without even having to register. It’s a concept I haven’t seen before from Microsoft but I really like it. This enables users to try out their service without any obligation!
I’d really love to see that with other Azure services and I am sure that this would get them quite some more traction from developers and other specialists out there, searching for the right platform to do their magic.
It feels like a point-and-click adventure to start implementing your first data analysis workflow with Microsoft Azure Machine Learning Studio
In short, Studio enables you to create data Experiments. By using a really easy to use drag and drop interface you can create a Workflow that shapes your Experiment. They let you fetch data from sources like SQL, a web service or another source and there are building blocks that you can include to filter, mutate, analyze, etc. the data.
Got outliers like min/max data that you want to remove from your set of data to clean it up? No problem. Do you want to remove records from your dataset that are missing key values? No sweat. It seems that there’s a block for everything one would need to clean up and analyse their data.
Diving into Azure Machine Learning Studio
Once you’ve logged into the Studio you can select “Experiments” in the left-side menu and click “New” in the lower left corner.
Besides existing templates(samples) to start with Microsoft also provides a comprehensive Gallery with lots of examples for your pleasure.
When you start your experiment, you can search for building blocks, called “Experiment Items” in the interface, by typing text. It will filter out the matching items by searching both the item’s title and description which provides a really easy way to look for the correct item. Even if you’re a newbie like I am in the world of Machine Learning.
Found the right item? Just drag and drop it on the right panel to add it. By selecting an input/output connection point on an item you can literally “connect the dots” and decide how the data flow will take place.
Right clicking an item reveals a couple of nice actions one can perform like copy paste. One of the most interesting actions can be found under Results dataset > Visualize. This generates a quick overview on the outcome of the selected item. It lets you get basic – but useful – information for a step quickly so you can check if, for instance, your data is being processed the way it should and if there are any anomalies that you need to work on.
Generate a web service for your app
Wouldn’t it be cool to have a web service for your experiment? Once you have finished creating a data flow for your experiment you can add an Experiment Item titled “Web Service Output” to your Experiment. This lets you generate and Deploy a Webservice with the click of a button. It actually generates a real live web service which you can for whatever purpose you want. For example, you can use the web service in your mobile application, integrate it with Microsoft Power BI to feed your dashboard, integrate the API in your Excel sheet using the provided Excel plugin.[ad name=”Large Rectangle”]
Too much of a hassle? Your generated web service can be checked and tested in your browser using a Test portal that is generated on top of your API. You can call endpoints, inspect outcomes. Hell, there even is a Swagger API documentation page being generated for your Webservice so you know exactly how to call it using the REST protocol.
The generated Webservice can be used using provided example code (like C# that you can use in your Xamarin app for instance). For your hybrid (Cordova, ionic?) apps you can use the Swagger API description to implement the API via the REST API calls.
The simplicity of generating a web service and the easy to integrate API calls really make this accessible technology that you can quickly embed into your solution. Whether it is a mobile application or an online web application or a Dashboard of your choosing.
The quick and low-barrier interface, together with the Webservice generation functionality, were the two biggest surprises that blow my mind. I’m sure that, once I dive further into the coral reefs of Machine Learning Studio, I will discover more cool features and functionality that brings Machine Learning within my reach.
Discussing all of Machine Learning Studio’s functionality is out of scope for this blog. For more Information, I urge you to check out the application’s homepage at http://studio.azureml.net/.
For a quick introduction, check out the intro video below, provided by Channel 9:
Did you like this article? Please share it on Twitter or the platform of your choice 🙂