Book Image

Machine Learning with BigQuery ML

By : Alessandro Marrandino
Book Image

Machine Learning with BigQuery ML

By: Alessandro Marrandino

Overview of this book

BigQuery ML enables you to easily build machine learning (ML) models with SQL without much coding. This book will help you to accelerate the development and deployment of ML models with BigQuery ML. The book starts with a quick overview of Google Cloud and BigQuery architecture. You'll then learn how to configure a Google Cloud project, understand the architectural components and capabilities of BigQuery, and find out how to build ML models with BigQuery ML. The book teaches you how to use ML using SQL on BigQuery. You'll analyze the key phases of a ML model's lifecycle and get to grips with the SQL statements used to train, evaluate, test, and use a model. As you advance, you'll build a series of use cases by applying different ML techniques such as linear regression, binary and multiclass logistic regression, k-means, ARIMA time series, deep neural networks, and XGBoost using practical use cases. Moving on, you'll cover matrix factorization and deep neural networks using BigQuery ML's capabilities. Finally, you'll explore the integration of BigQuery ML with other Google Cloud Platform components such as AI Platform Notebooks and TensorFlow along with discovering best practices and tips and tricks for hyperparameter tuning and performance enhancement. By the end of this BigQuery book, you'll be able to build and evaluate your own ML models with BigQuery ML.
Table of Contents (20 chapters)
Section 1: Introduction and Environment Setup
Section 2: Deep Learning Networks
Section 3: Advanced Models with BigQuery ML
Section 4: Further Extending Your ML Capabilities with GCP

Evaluating the multiclass logistic regression model

In this section, we'll execute queries to check the performance of the multiclass logistic regression model.

For the evaluation phase of our BigQuery ML model, we'll use the ML.EVALUATE function and the evaluation_table table, expressly created to host the evaluation records.

As we can see, the evaluation is performed on the same fields that were used during the training phase of the model but are extracted from the evaluation_table table that was created completely disjoint from the training dataset.

The external SELECT statement extracts the roc_auc value returned by the ML.EVALUATE function. It also provides a meaningful description of the quality of the model that starts from 'POOR' and goes up to the 'EXCELLENT' grade, passing through some intermediate stages such as 'NEEDS IMPROVEMENTS' and 'GOOD'.

Let's execute the following query to extract the key performance...