▶Book Description
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.
▶What You Will Learn
- Understand the types of problem that machine learning solves, and the various approaches
- Import, pre-process, and explore data with Go to make it ready for machine learning algorithms
- Visualize data with gonum/plot and Gophernotes
- Diagnose common machine learning problems, such as overfitting and underfitting
- Implement supervised and unsupervised learning algorithms using Go libraries
- Build a simple web service around a model and use it to make predictions
▶Key Features
- Your handy guide to building machine learning workflows in Go for real-world scenarios
- Build predictive models using the popular supervised and unsupervised machine learning techniques
- Learn all about deployment strategies and take your ML application from prototype to production ready
▶Who This Book Is For
This book is for developers and data scientists with at least beginner-level knowledge of Go, and a vague idea of what types of problem Machine Learning aims to tackle. No advanced knowledge of Go (and no theoretical understanding of the math that underpins Machine Learning) is required.
▶What this book covers
- Chapter 1, Introducing Machine Learning with Go, introduces ML and the different types of ML-related problems. We will also look into the ML development life cycle, and the process of creating and taking an ML application to production.
- Chapter 2, Setting Up the Development Environment, explains how to set up an environment for ML applications and Go. We will also gain an understanding of how to install an interactive environment, Jupyter, to accelerate data exploration and visualization using libraries such as Gota and gonum/plot.
- Chapter 3, Supervised Learning, introduces supervised learning algorithms and demonstrates how to choose an ML algorithm, train it, and validate its predictive power on previously unseen data.
- Chapter 4, Unsupervised Learning, reuses many of the techniques related to data loading and preparation that we have implemented in this book, but will focuses instead on unsupervised machine learning.
- Chapter 5, Using Pretrained Models, describes how to load a pretrained Go ML model and use it to generate a prediction. We will also gain an understanding of how to use HTTP to invoke ML models written in other languages, where they may reside on a different machine or even on the internet.
- Chapter 6, Deploying Machine Learning Applications, covers the final stage of the ML development life cycle: taking an ML application written in Go to production.
- Chapter 7, Conclusion – Successful ML Projects, takes a step back and examines ML development from a project management point of view.