In general, the main tasks involved in solving a machine learning problem can be summarized into four areas, as follows:
- Data preparation
- Training sets generation
- Model 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:
![](https://static.packt-cdn.com/products/9781789616729/graphics/assets/f2193d2f-9252-45dd-b52a-76a84ef7961d.png)
In the following sections, we will be learning about the typical tasks, common challenges, and best practices for each of these four stages.