Machine Learning with Go Quick Start Guide
Hands-on techniques for building supervised and unsupervised machine learning workflows
Michael Bironneau
Toby Coleman
BIRMINGHAM - MUMBAI
Machine Learning with Go Quick Start Guide
Copyright 2019 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
Commissioning Editor: Amey Varangaonkar
Acquisition Editor: Aditi Gour
Content Development Editor: Roshan Kumar
Technical Editor: Sagar Sawant
Copy Editor: Safis Editing
Project Coordinator: Namrata Swetta
Proofreader: Safis Editing
Indexer: Manju Arasan
Graphics: Jisha Chirayil
Production Coordinator: Aparna Bhagat
First published: May 2019
Production reference: 1310519
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.
ISBN 978-1-83855-035-6
www.packtpub.com
mapt.io
Mapt is an online digital library that gives you full access to over 5,000 books and videos, as well as industry leading tools to help you plan your personal development and advance your career. For more information, please visit our website.
Why subscribe?
Spend less time learning and more time coding with practical eBooks and Videos from over 4,000 industry professionals
Improve your learning with Skill Plans built especially for you
Get a free eBook or video every month
Mapt is fully searchable
Copy and paste, print, and bookmark content
Packt.com
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.packt.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at customercare@packtpub.com for more details.
At www.packt.com , you can also read a collection of free technical articles, sign up for a range of free newsletters, and receive exclusive discounts and offers on Packt books and eBooks.
Contributors
About the authors
Michael Bironneau is an award-winning mathematician and experienced software engineer. He holds a PhD in mathematics from Loughborough University and has worked in several data science and software development roles. He is currently technical director of the energy AI technology company, Open Energi.
Toby Coleman is an experienced data science and machine learning practitioner. Following degrees from Cambridge University and Imperial College London, he has worked on the application of data science techniques in the banking and energy sectors. Recently, he held the position of innovation director at cleantech SME Open Energi, and currently provides machine learning consultancy to start-up businesses.
About the reviewers
NiclasJern has been using computers for fun and profit since he got his first computer (a C64) at the age of four. After a prolonged period of combining the founding and running of a start-up, Walkbase, with his university studies, he graduated from bo Akademi University with an M.Sc. in computer engineering in 2015. His hobbies include long walks, lifting heavy metal objects at the gym, and spending quality time with his wife and daughter. He currently works at Stratacache, which acquired Walkbase in 2017, where he continues to lead the Walkbase engineering teams and design and build the future of retail technology.
Philipp Mieden is a German security researcher and software engineer, currently focusing on network security monitoring with applied machine learning. He presented his research on classifying malicious behavior in network traffic at several international contests and conferences and won multiple prizes. He holds a B.Sc. degree from the Ludwig Maximilian University of Munich, and shares many of his projects on GitHub. Besides network anomaly detection, Philipp is also interested in hardware security, industrial control systems, and reverse engineering malware.
Packt is searching for authors like you
If you're interested in becoming an author for Packt, please visit authors.packtpub.com and apply today. We have worked with thousands of developers and tech professionals, just like you, to help them share their insight with the global tech community. You can make a general application, apply for a specific hot topic that we are recruiting an author for, or submit your own idea.
Preface
Machine learning (ML) plays a vital part in the modern data-driven world, and has been extensively adopted in various fields across financial forecasting, effective searching, robotics, digital imaging in healthcare, and many more besides. It is a rapidly evolving field, with new algorithms and datasets being published every week, both by academics and technology companies. This book will teach you how to perform various machine learning tasks using Go in different environments.
You will learn about many important techniques that are required to develop ML applications in Go, and deploy them as production systems. The best way to develop your knowledge is with hands-on experience, so dive in and start adding ML software to your own Go applications.
Who this book is for
This book is intended for developers and data scientists with at least a beginner-level knowledge of Go, and a vague idea of what types of problems ML aims to tackle. No advanced knowledge of Go, or a theoretical understanding of the mathematics that underpins ML, is required.
What this book covers
, 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.
, 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.
Next page