Leveraging Azure ML Service Models with Microsoft PowerBI
Machine Learning (ML) is shaping and simplifying the way we live, work, travel and communicate. With the Azure Machine Learning (Azure ML) Service, data scientists can easily build and train highly accurate machine learning and deep-learning models. Now PowerBI makes it simple to incorporate the insights from models build by data scientists on Azure Machine Learning service and their predictions in the PowerBI reports by using simple point and click gestures. This will enable business users with better insights and predictions about their business.
This capability can be leveraged by any PowerBI user (with an access privilege granted through the Azure portal). Power Query automatically detects all ML Models that the user has access to and exposes them as dynamic Power Query functions.
This functionality is supported for PowerBI dataflows, and for Power Query online in the PowerBI service.
Schema discovery for Machine Learning Service models
Unlike the Machine Learning studio (which helps automate the task of creating a schema file for the model), in Azure Machine Learning Service Data scientists primarily use Python to build and train machine learning models.
Invoking the Azure ML model in PowerBI
- Grant access to the Azure ML model to a Power BI user: To access an Azure ML model from PowerBI, the user must have Read access to the Azure subscription. In addition:
- For Machine Learning Studio models, Read access to Machine Learning Studio web service
- For Machine Learning Service models, Read access to the Machine Learning service workspace
- From the PowerQuery Editor in your dataflow, select the Edit button for the dataset that you want to get insights about, as shown in the following image:
- Selecting the Edit button opens the PowerQuery Editor for the entities in your dataflow:
- Click on AI Insights button (on the top ribbon), and then select the “Azure Machine Learning Models” folder from the left navigation menu. All the Azure ML models appear as PowerQuery functions. Also, the input parameters for the Azure ML model are automatically mapped as parameters of the corresponding PowerQuery function.
- To invoke an Azure ML model, we can specify the column of our choice as an input.
- To examine/preview the model’s output, select Invoke. This will show us the model’s output column, and this step also appears (model invocation) as an applied step for the query.
With this approach we can integrate all ML models (built using either Azure ML service or studio) with PowerBI reporting. This enables business to effectively utilise the models built by data scientists by any user (typically BI analyst) for relevant datasets based on the problem we are trying to solve (either classification/regression) or to get predictions. Utilising all these new enhancements of Microsoft PowerBI will enlighten business users with better insights and this in turn aids in better decision making.