▶Book Description
Go is the perfect language for machine learning; it helps to clearly describe complex algorithms, and also helps developers to understand how to run efficient optimized code. This book will teach you how to implement machine learning in Go to make programs that are easy to deploy and code that is not only easy to understand and debug, but also to have its performance measured.
The book begins by guiding you through setting up your machine learning environment with Go libraries and capabilities. You will then plunge into regression analysis of a real-life house pricing dataset and build a classification model in Go to classify emails as spam or ham. Using Gonum, Gorgonia, and STL, you will explore time series analysis along with decomposition and clean up your personal Twitter timeline by clustering tweets. In addition to this, you will learn how to recognize handwriting using neural networks and convolutional neural networks. Lastly, you'll learn how to choose the most appropriate machine learning algorithms to use for your projects with the help of a facial detection project.
By the end of this book, you will have developed a solid machine learning mindset, a strong hold on the powerful Go toolkit, and a sound understanding of the practical implementations of machine learning algorithms in real-world projects.
▶What You Will Learn
⦁ Set up a machine learning environment with Go libraries
⦁ Use Gonum to perform regression and classification
⦁ Explore time series models and decompose trends with Go libraries
⦁ Clean up your Twitter timeline by clustering tweets
⦁ Learn to use external services for your machine learning needs
⦁ Recognize handwriting using neural networks and CNN with Gorgonia
⦁ Implement facial recognition using GoCV and OpenCV
▶Key Features
⦁ Explore ML tasks and Go's machine learning ecosystem
⦁ Implement clustering, regression, classification, and neural networks with Go
⦁ Get to grips with libraries such as Gorgonia, Gonum, and GoCv for training models in Go
▶Who This Book Is For
If you're a machine learning engineer, data science professional, or Go programmer who wants to implement machine learning in your real-world projects and make smarter applications easily, this book is for you. Some coding experience in Golang and knowledge of basic machine learning concepts will help you in understanding the concepts covered in this book.
▶What this book covers
⦁ Chapter 1, How To Solve All Machine Learning Problems, introduces two classes of machine
learning: regression and classification. By the end of this chapter, you should feel
comfortable with the data structures used to build machine learning programs. Most
machine learning algorithms are built based on the data structures introduced here. We are
then going to introduce Go machine learning and get you up and running for further
projects.
⦁ Chapter 2, Linear Regression – House Price Prediction, goes into a regression analysis on a
real-life dataset on house pricing. We will start off by building the necessary data structures
to perform such analyses, along with initial exploration of the dataset.
⦁ Chapter 3, Classification – Spam Email Detection, covers the construction of a classification
model in Go. The dataset is the classic spam and ham email dataset in which our goal is to
build a model that classifies the emails as spam or ham. Then, we will learn how to write
the algorithms themselves, while leveraging external libraries (such as Gonum) for data
structure support.
⦁ Chapter 4, Decomposing CO2 Trends Using Time Series Analysis, introduces us to the
subtleties of time series analysis. Data in time series can often be decomposed for
descriptive purposes. This chapter shows us how to perform such decompositions, and
how to display them using Gonum's plotting tools as well as gnuplot.
⦁ Chapter 5, Clean Up Your Personal Twitter Timeline by Clustering Tweets, covers the
clustering of tweets on Twitter. We will be using two different clustering techniques, KMeans
and DBSCAN. For this chapter, we're going to rely on a number of skills we built up
in Chapter 2, Linear Regression – House Price Prediction. We will also be using the same
libraries used in the aforementioned chaper. On top of that, we will also be using the
clusters library by Marcin Praski
⦁ Chapter 6, Neural Networks – MNIST Handwriting Recognition, opens up the rich world of
image recognition to us. Images are difficult, because useful features are nonlinear products
of the input features. The aim of this project is to introduce the various methods of
handling high-dimensional data; specifically, the use of PCA algorithms in the Gonum
library to whiten data.
⦁ Chapter 7, Convolutional Neural Networks – MNIST Handwriting Recognition, explains how to
use recent advancements in deep learning to perform handwriting recognition, by building
a convolutional neural network using Gorgonia tp achieve 99.87% accuracy.
⦁ Chapter 8, Basic Facial Detection, explores a basic implementation of facial detection. By the
end of this chapter, we will have implemented a usable facial detection system using GoCV
and PIGO. This chapter teaches an important lesson in learning to choose the correct
algorithm for the job.
⦁ Chapter 9, Hot Dog or Not Hot Dog - Using External Services culminates the book by showing
how one may integrate external services in machine learning projects, and what to look out
for when doing so.
⦁ Chapter 10, What Is Next, lists the further avenues for machine learning in Go.