Setting Up the Development Environment
Just like traditional software development, ML application development requires the mastery of specialist boilerplate code and a development environment that allows the developer to proceed at a pace that has the lowest amount of friction and distraction. Software developers typically waste a lot of time with basic setup and data wrangling tasks. Being a productive and professional ML developer requires the ability to quickly prototype solutions; this means expending as little effort as possible on trivial tasks.
In the previous chapter, we outlined the main ML problems and a development process that you can follow to obtain a commercial solution. We also explained the advantages offered by Go as a programming language when creating ML applications.
In this chapter, we will guide you through the steps that are required to set up a development environment for Go that is optimized for ML applications. Specifically, we will cover the following topics:
- How to install Go
- Running Go interactively using Jupyter and gophernotes
- Data wrangling with Gota
- Data visualization with gonum/plot and gophernotes
- Data preprocessing (formatting, cleaning, and sampling)
- Data transformation (normalization and encoding of categorical variables)
Once you have completed this chapter, you will be able to quickly explore, visualize, and process any dataset for subsequent use by an ML algorithm.