Most of the supervised learning techniques for classification are developed throughout this book from a methodological point of view and from a practical point of view with applications through Python software. The following techniques are covered in depth: Nearest Neighbour (kNN), Support Vector Machine (SVM), Naive Bayes, Ensemble Methods, Bagging, Boosting, Voting, Stacking, Blending, Random Forest, Neural Networks, Multilayer Perceptron, Radial Basis Networks, Hopfield Networks, LSTM Networks, RNN Recurrent Networks, GRU Networks and Neural Networks for Time Series Prediction.