Book Image

Machine Learning with Go Quick Start Guide

By : Michael Bironneau, Toby Coleman
Book Image

Machine Learning with Go Quick Start Guide

By: Michael Bironneau, Toby Coleman

Overview of this book

Machine learning is an essential part of today's data-driven world and is extensively used across industries, including financial forecasting, robotics, and web technology. This book will teach you how to efficiently develop machine learning applications in Go. The book starts with an introduction to machine learning and its development process, explaining the types of problems that it aims to solve and the solutions it offers. It then covers setting up a frictionless Go development environment, including running Go interactively with Jupyter notebooks. Finally, common data processing techniques are introduced. The book then teaches the reader about supervised and unsupervised learning techniques through worked examples that include the implementation of evaluation metrics. These worked examples make use of the prominent open-source libraries GoML and Gonum. The book also teaches readers how to load a pre-trained model and use it to make predictions. It then moves on to the operational side of running machine learning applications: deployment, Continuous Integration, and helpful advice for effective logging and monitoring. At the end of the book, readers will learn how to set up a machine learning project for success, formulating realistic success criteria and accurately translating business requirements into technical ones.
Table of Contents (9 chapters)

Example – invoking a Python model using HTTP

What if the model resides on a different machine, we need to decouple the Go and model logic, or if there are multiple actions we may wish to perform, such as training a user-specific model based on user data, and later use this model to generate a prediction? In those cases, our previous solution using command-line arguments will become more complex as we add more arguments to distinguish between actions and return codes. This type of invocation is generally known as Remote Procedure Call (RPC), and solutions such as SOAP or JSON-RPC have been known to the industry for decades[7].

In the following example, we will use a more universal and generic protocol: HTTP. Strictly speaking, HTTP is a data transfer protocol, and one that is often used as the plumbing for RPC protocols. However, with very little effort, we can create our...