Artificial Intelligence combines mathematical algorithms and Machine Learning, Deep Learning and Big Data techniques to extract the knowledge contained in data and present it in a comprehensible and automatic way. Machine learning uses two types of techniques: supervised learning, which trains a model with known input and output data to predict future results, and unsupervised learning, which finds hidden patterns or intrinsic structures in the input data. 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.