Life Cycle of Model Creation
In this section, we will cover the life cycle of creating performant machine learning models, from engineering features to fitting models to training data, and evaluating our models using various metrics. The following diagram demonstrates the iterative process of building machine learning models. Features are engineered that represent potential correlations between the features and the target, the model is fit, and then models are evaluated.
Depending on how the model is scored according to the model's evaluation metrics, the features are engineered further, and the process continues. Many of the steps that are implemented to create models are highly transferable between all machine learning libraries. We'll start with scikit-learn, which has the advantage of being widely used, and as such, there is a lot of documentation, tutorials, and learning materials to be found across the internet:
Machine Learning Libraries
While this book is an introduction to deep learning with Keras, as we mentioned earlier, we will start by utilizing scikit-learn. This will help us establish the fundamentals of building a machine learning model using the Python programming language.
Similar to scikit-learn, Keras makes it easy to create models in the Python programming language through an easy-to-use API. However, the goal of Keras is the creation and training of neural networks, rather than machine learning models in general. ANNs represent a large class of machine learning algorithms, and they are so-called because their architecture resembles the neurons in the human brain. The Keras library has many general-purpose functions built-in, such as optimizers
, activation functions
, and layer properties
, so that users, like in scikit-learn, do not have to code these algorithms from scratch.