1 Introduction to machine learning


This chapter covers

  • Understanding machine learning and the problems it can solve
  • Organizing a successful machine learning project
  • Training and selecting machine learning models
  • Performing model validation

In this chapter, we introduce machine learning and describe the cases in which it’s most helpful. We show how machine learning projects are different from traditional software engineering (rule-based solutions) and illustrate the differences by using a spam-detection system as an example.

To use machine learning to solve real-life problems, we need a way to organize machine learning projects. In this chapter, we talk about CRISP-DM: a step-by-step methodology for implementing successful machine learning projects.

Finally, we take a closer look at one of the steps of CRISP-DM—the modeling step. In this step, we train different models and select the one that solves our problem best.

1.1 Machine learning

Machine learning is part of applied mathematics and computer science. It uses tools from mathematical disciplines such as probability, statistics, and optimization theory to extract patterns from data.

The main idea behind machine learning is learning from examples: we prepare a dataset with examples, and a machine learning system “learns” from this dataset. In other words, we give the system the input and the desired output, and the system tries to figure out how to do the conversion automatically, without asking a human.

1.1.1 Machine learning vs. rule-based systems

1.1.2 When machine learning isn’t helpful

1.1.3 Supervised machine learning

1.2 Machine learning process

1.2.1 Business understanding

1.2.2 Data understanding

1.2.3 Data preparation

1.2.4 Modeling

1.2.5 Evaluation

1.2.6 Deployment

1.2.7 Iterate

1.3 Modeling and model validation