The last 19 chapters were an overview of how you can undertake machine learning with different Microsoft products. First, an introduction to machine learning approaches, such as descriptive, predictive, and prescriptive analytics, was provided. The R language, as one of the principal languages for machine learning was then discussed. Following was a brief explanation of how to do machine learning using such tools as Power BI, Azure ML Studio, SQL Server, and others.
This chapter offers a summary of machine learning technologies and best practices when using particular approaches.
Overview of Microsoft Machine Learning Technologies
Artificial intelligence (AI), and specifically machine learning, can bring lots of benefits to businesses. Many have been using Microsoft data platform tools for years. Microsoft employed machine learning to create such products such as Xbox, Bing Search, and others. However, from 2014, Microsoft began to provide a facility for power users and end users to embed machine learning in their reports and software.
The need to write R or Python code
Cloud or on-premises computing
The first classification is based on the degree to which these tools are easy to use and accurate.
Pre-built AI: Microsoft machine learning tools that do not require that you write any R or Python code to generate a machine learning scenario.
Custom AI: Microsoft machine learning tools that require you to know how to write R or Python code
The first group is easy to use, and you need only follow the instructions provided. The main benefit of using pre-built AI tools is that there is no need to know the machine learning concepts, or at least by knowing some, most anyone is able to create an AI application. Pre-built AI tools can address general problems and issues, but for some business problems, other categories of tools (e.g., for writing R or Python code) are more efficient. In this book, the Cognitive Services (Chapter 18) and Bot Framework (Chapter 19) are the tools that you can embed in Power BI, Windows, or other web applications without writing any R or Python code. As mentioned in the relevant chapters, there is no direct way to access the code behind pre-built custom AI tools, so there is no way to alter that code and change the algorithms.
For Azure machine learning tools, it is possible to write R or Python code as well. In addition, the drag-and-drop environment is quite easy to use.
The second classification is about cloud vs. on-premises AI tools. Many companies still prefer to keep their tools on-site, while some others prefer to move all their business products to the cloud. Between the two, some companies have both cloud and on-premises tools.
If the main strategy of a company is to keep everything on-premises, using Power BI or SQL Server for writing R or Python can be more suitable. However, if the preference is to do machine learning in the cloud, the Azure ML Studio (Chapter 12), for writing R or Python on Databricks, and Azure Data Analytics can be most helpful.
Applying machine learning on Internet of things (IoT) use case scenarios
Using Text Analytics, speech, images, and so forth, for analysis
Applying machine learning to an ETL (extract, transform, load) project
Fast tracking a prototype for a client with Azure Machine Studio
IoT Scenario
Analyzing real-time data is a need that has been addressed by such Microsoft tools as Event Hub, Stream Analytics (Chapter 13), Databricks (Chapter 10), and others. With Power BI, it is possible to create a live stream report based on the real data that flows from sensors, applications, and so forth.
For most of this scenario, there is a need to identify anomalies in the data or classify prospective data into different groups. By using Azure Machine Learning with Stream Analytics or Databricks, we can apply machine learning to IoT scenarios.
Image, Text, and Voice Analytics
There are different tools for image, text, and voice analytics in the Microsoft stack. Cognitive Services (Chapter 18) is one of the popular tools for text, voice, and image analytics that provides APIs to use in other applications.
However, it is also possible to do image processing and voice recognition using the CNTK platform, which is covered in Chapter 17. These Microsoft packages and libraries provide facilities for developers to employ for performing machine learning with a deep learning approach.
Machine Learning on ETL
Another possible requirement is to apply machine learning to data that has been loaded and transformed with the aim of visualization and creating reports. There is always a need to apply some descriptive or predictive analytics on data before showing it to the final users. As a result, those who use Power BI self-service BI can leverage the machine learning, using R and Python scripts to make reports more insightful. Another approach is to use R or Python in SQL Server 2016 or 2017. In addition, if the data is on the cloud, it is possible to use Databricks for ETL and machine learning at the same time.
Machine Learning Prototype
For companies that want to use machine learning on their data for the first time, Azure Machine Learning Studio is a great tool that demonstrates the real process of machine learning, from collecting data to training and testing models. Moreover, managers and stakeholders are able to fast track the machine learning process and see how it can be used as an API in other applications or a simple Excel file.
To sum up, tool selection for machine learning depends on the architecture being used, how much effort is willing to be expended on programming, and what scenario is to be put in place. Tools related to the first requirement are based on pre-built AI and custom AI. Those for the second depend on the current architecture in place, whether on-premises or cloud-based. Finally, the last requirement to consider relates to appropriate tools for a specific scenario that is to be implemented, such as for IoT, ETL, or prototype creation.