Reader small image

You're reading from  Machine Learning with Go Quick Start Guide

Product typeBook
Published inMay 2019
Reading LevelIntermediate
PublisherPackt
ISBN-139781838550356
Edition1st Edition
Languages
Right arrow
Authors (2):
Michael Bironneau
Michael Bironneau
author image
Michael Bironneau

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.
Read more about Michael Bironneau

Toby Coleman
Toby Coleman
author image
Toby Coleman

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.
Read more about Toby Coleman

View More author details
Right arrow

Conclusion - Successful ML Projects

So far in this book, we have focused on how to prepare and use ML algorithms in Go. This included the preparation of data in Chapter 2, Setting Up the Development Environment, and the use of data to build models in Chapter 3, Supervised Learning, and Chapter 4, Unsupervised Learning. We also looked at how to integrate an existing ML model into a Go application in Chapter 5, Using Pretrained Models. Finally, we covered how to integrate ML into production systems in Chapter 6, Deploying Machine Learning Applications. To conclude, we will take a look at the different stages in a typical project, and how to manage the end-to-end process of developing and deploying a successful ML system.

AI expert Andrej Karparthy has written[1] about how ML can be used to simplify what were previously very complex systems. Often, it is simpler to allow a machine...

When to use ML

At the outset of any new project, you will need to identify whether ML is the correct approach. This depends on three key factors:

  • First of all, it is crucial to understand your business requirements, and whether it can indeed be tackled by ML. Think about what the goals of your project are. For example, do you want to reduce the cost of a process that currently requires significant manual work and cost? Are you trying to create a better experience for your end customer, for example, by adding personalized features that would be too time-consuming to build using traditional code?
  • Next, ask yourself whether you have the data required to make your proposed ML system work. If not, how will you acquire the data you need, and what potential issues will need to be solved? For example, you might need to bring together datasets from different areas within your organization...

Typical stages in a ML project

As we have seen throughout this book, ML is highly dependent on the data that is used for training and testing. For this reason, we find it helpful to view a typical project through the stages in the following diagram, which comes from the Cross Industry Standard Process for Data Mining (CRISP-DM), a popular method for managing data science projects[3]:

In contrast to some other engineering systems, ML normally never produces perfect output, so, for this reason, projects are often iterative. Refinements to the datasets and models allow you to produce progressively better results, provided they are justified by your business needs.

Business and data understanding

Having decided to use ML, a crucial...

When to combine ML with traditional code

While most of this book has focused on how to write and use ML code, you will have also noticed that a lot of traditional, non-ML code is needed to support what we have done. Much of this is hidden inside the software libraries we have used, but there are cases where you may need to add to this.

One example is where you need to enforce certain constraints on your model output, for instance, to handle an edge case or implement some safety-critical constraints. Suppose you are writing software for a self-driving car: you might use ML to process image data from the cars cameras, but when it comes to actuating the vehicles steering, engine, and brake controls, you will most likely need to use traditional code to ensure that the car is controlled safely. Similarly, unless your ML system is trained to handle unexpected data inputs, for example...

Summary

In this book, you have learned 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 into your own Go applications. The skills you have learned here will allow you to start adding cutting-edge ML capabilities to the projects that you are working on.

ML is a rapidly evolving field with new algorithms and datasets being published every week, both by academics and technology companies. We recommend that you read the technical blogs, papers, and code repositories that cover this research, many of which we have referenced throughout this book. You might find a new state-of-the-art model that solves a problem you have been working on, waiting for you to implement it in Go.

...
lock icon
The rest of the chapter is locked
You have been reading a chapter from
Machine Learning with Go Quick Start Guide
Published in: May 2019Publisher: PacktISBN-13: 9781838550356
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Authors (2)

author image
Michael Bironneau

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.
Read more about Michael Bironneau

author image
Toby Coleman

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.
Read more about Toby Coleman