Chapter 1. Getting Started
It is critical for any computer scientist that they understand the different classes of machine learning algorithms and are able to select the ones that are relevant to the domain of their expertise and dataset. However, the application of these algorithms represents a small fraction of the overall effort needed to extract an accurate and performing model from input data. A common data mining workflow consists of the following sequential steps:
- Defining the problem to solve.
- Loading the data.
- Cleaning the data.
- Discovering patterns, affinities, clusters, and classes, if needed.
- Selecting the model features and the appropriate machine learning algorithm(s).
- Refining and validating the model.
- Improving the computational performance of the implementation.
As we will emphasize throughout this book, each stage of the process is critical for building a model appropriate for the problem.
It is impossible to describe in every detail the key machine learning algorithms and their implementation in a single book. The sheer quantity of information and Scala code would overwhelm even the most dedicated readers. Each chapter focuses on the mathematics and code that are absolutely essential for the understanding of the topic. Developers are encouraged to browse through the following areas:
- Scala coding conventions and standards used in the book in the Appendix
- API Scala docs
- Fully documented source code, available online
This first chapter introduces the following elements:
- Basic concept of machine learning
- Taxonomy of machine learning algorithms
- Language, tools, frameworks, and libraries used throughout the book
- A typical workflow of model training and prediction
- A simple concrete application using binomial logistic regression