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

Using BigQuery ML for online predictions

In this section, we'll understand how we can use a BigQuery ML model in a synchronous and online manner.

BigQuery ML represents a huge opportunity to democratize ML techniques for business and data analysts. When BigQuery ML is trained and ready to use, we can invoke it directly in BigQuery using a SQL query or we can export it into TensorFlow format.

The requirements of each use case drive the prediction type that we should adopt, as outlined here:

  • We use online prediction when we want to enable request-response applications and when getting an immediate prediction is critical.
  • We adopt batch prediction to process large volumes of data when we don't need immediate predictions—for example, scheduling daily or weekly jobs that calculate predictions on the data collected since the last job execution.

While using BigQuery SQL statements is more suitable for batch predictions on a large number of records...