In general, tasks in solving a machine learning problem can be summarized into four areas:
- Data preparation
- Training sets generation
- Algorithm training, evaluation, and selection
- Deployment and monitoring
Starting from data sources to the final machine learning system, a machine learning solution basically follows the following paradigm:

In the following sections, we will be learning about the typical tasks, common challenges, and best practices for each of these four stages.