What are our options for AI in Power BI?
If we think about what we can do with AI in Power BI, there are roughly two categories we could put the options in. First of all, we have the low-hanging fruit: the easy projects with which we can start today. And second, we have the ability to create our own models and integrate these with our Power BI reports that give us more flexibility but require a larger time investment.
Out-of-the-box options
The easy AI options in Power BI can also be referred to as out-of-the-box AI features. These models are pre-built by Microsoft, meaning that we do not need to spend time on collecting data to train the model, nor do we need the expertise to choose the right algorithm. That already saves us time on the most challenging phases in the data science process!
For most of these features, the models are already integrated with Power BI and all we have to do is consume them. For others, we have the option to add a little bit of our own data to customize it to our business scenario. That means that there is some kind of base model under the hood that is already trained by Microsoft on data collected by Microsoft (check the Privacy Agreement for the service you are working with to see whether your data is being used). We then add our own data so that Microsoft can finish training a model in a fraction of the time it would take us to create the same model ourselves from scratch.
Next to that, we can also see these models being offered in various ways. We have integrated models in Power BI that are accessible through rich visuals, also known as AI visuals. We have integrated models that can be used with a specific type of data, such as the forecasting we can add when plotting time-series data. And finally, we can use the Cognitive Services, a collection of Azure services consisting of pre-built models that we can very easily integrate with any application through the use of APIs.
Creating your own models
The advantage of using pre-built models is that you save time and money when getting started with AI. The disadvantage of using these kinds of models from any software vendor is that you have less control and less flexibility over the design of your model. If, instead, you want to create your own models, you do need access to data science expertise to make the right decisions when training a model.
Still, there are many situations in which we want to make sure we create a model that is specifically designed for our use case. In this book, we'll assume we want to work with Microsoft's cloud platform Azure to easily integrate any machine learning model with Power BI. We have three main options in Azure when training our own model:
- Using Automated Machine Learning to train multiple models (in parallel), choose the best one, and integrate that one with our data pipeline.
- Using the Azure Machine Learning Designer to create a model.
Both of these options require less data science expertise than the final option:
- Using the Azure Machine Learning workspace to train and deploy model based on training scripts that are created from scratch. The latter is what data scientists are often trained to do. They are comfortable in Python or R and most commonly use open source libraries such as Scikit-learn, PyTorch, or TensorFlow to train models.
Whatever option you go for, the purpose is that you are in full control over the training data, and you can choose which algorithms to use when training a model. This means it can take more skill, time, and compute power to get to the same end result as when we use out-of-the-box models. Both pre-built models as well as self-built models therefore serve their purpose and for each use case it should be evaluated which approach works best.