Preface Chapter 1: A Gentle Introduction to Machine Learning Introduction - classic and adaptive machines Descriptive analysis Predictive analysis Only learning matters Supervised learning Unsupervised learning Semi-supervised learning Reinforcement learning Computational neuroscience Beyond machine learning - deep learning and bio-inspired adaptive systems Machine learning and big data Summary Chapter 2: Important Elements in Machine Learning Data formats Multiclass strategies One-vs-all One-vs-one Learnability Underfitting and overfitting Error measures and cost functions PAC learning Introduction to statistical learning concepts MAP learning Maximum likelihood learning Class balancing Resampling with replacement SMOTE resampling Elements of information theory Entropy Cross-entropy and mutual information Divergence measures between two probability distributions Summary Chapter 3: Feature Selection and Feature Engineering scikit-learn toy datasets Creating training and test sets Managing categorical data Managing missing features Data scaling and normalization Whitening Feature selection and filtering Principal Component Analysis Non-Negative Matrix Factorization Sparse PCA Kernel PCA Independent Component Analysis Atom extraction and dictionary learning Visualizing high-dimensional datasets using t-SNE Summary Chapter 4: Regression Algorithms Linear models for regression A bidimensional example Linear regression with scikit-learn and higher dimensionality R2 score Explained variance Regressor analytic expression Ridge, Lasso, and ElasticNet Ridge Lasso ElasticNet Robust regression RANSAC Huber regression Bayesian regression Polynomial regression Isotonic regression Summary Chapter 5: Linear Classification Algorithms Linear classification Logistic regression Implementation and optimizations Stochastic gradient descent algorithms Passive-aggressive algorithms Passive-aggressive regression Finding the optimal hyperparameters through a grid search Classification metrics Confusion matrix Precision Recall F-Beta Cohen's Kappa Global classification report Learning curve ROC curve Summary Chapter 6: Naive Bayes and Discriminant Analysis Bayes' theorem Naive Bayes classifiers Naive Bayes in scikit-learn Bernoulli Naive Bayes Multinomial Naive Bayes An example of Multinomial Naive Bayes for text classification Gaussian Naive Bayes Discriminant analysis Summary Chapter 7: Support Vector Machines Linear SVM SVMs with scikit-learn Linear classification Kernel-based classification Radial Basis Function Polynomial kernel Sigmoid kernel Custom kernels Non-linear examples v-Support Vector Machines Support Vector Regression An example of SVR with the Airfoil Self-Noise dataset Introducing semi-supervised Support Vector Machines (S3VM) Summary Chapter 8: Decision Trees and Ensemble Learning Binary Decision Trees Binary decisions Impurity measures Gini impurity index Cross-entropy impurity index Misclassification impurity index Feature importance Decision Tree classification with scikit-learn Decision Tree regression Example of Decision Tree regression with the Concrete Compressive Strength dataset Introduction to Ensemble Learning Random Forests Feature importance in Random Forests AdaBoost Gradient Tree Boosting Voting classifier Summary Chapter 9: Clustering Fundamentals Clustering basics k-NN Gaussian mixture Finding the optimal number of components K-means Finding the optimal number of clusters Optimizing the inertia Silhouette score Calinski-Harabasz index Cluster instability Evaluation methods based on the ground truth Homogeneity Completeness Adjusted Rand Index Summary Chapter 10: Advanced Clustering DBSCAN Spectral Clustering Online Clustering Mini-batch K-means BIRCH Biclustering Summary Chapter 11 : Hierarchical Clustering Hierarchical strategies Agglomerative Clustering Dendrograms Agglomerative Clustering in scikit-learn Connectivity constraints Summary Chapter 12: Introducing Recommendation Systems Naive user-based systems Implementing a user-based system with scikit-learn Content-based systems Model-free (or memory-based) collaborative filtering Model-based collaborative filtering Singular value decomposition strategy Alternating least squares strategy ALS with Apache Spark MLlib Summary Chapter 13: Introducing Natural Language Processing NLTK and built-in corpora Corpora examples The Bag-of-Words strategy Tokenizing Sentence tokenizing Word tokenizing Stopword removal Language detection Stemming Vectorizing Count vectorizing N-grams TF-IDF vectorizing Part-of-Speech Named Entity Recognition A sample text classifier based on the Reuters corpus Summary Chapter 14: Topic Modeling and Sentiment Analysis in NLP Topic modeling Latent Semantic Analysis Probabilistic Latent Semantic Analysis Latent Dirichlet Allocation Introducing Word2vec with Gensim Sentiment analysis VADER sentiment analysis with NLTK Summary Chapter 15: Introducing Neural Networks Deep learning at a glance Artificial neural networks MLPs with Keras Interfacing Keras to scikit-learn Summary Chapter 16: Advanced Deep Learning Models Deep model layers Fully connected layers Convolutional layers Dropout layers Batch normalization layers Recurrent Neural Networks An example of a deep convolutional network with Keras An example of an LSTM network with Keras A brief introduction to TensorFIow Computing gradients Logistic regression Classification with a multilayer perceptron Image convolution Summary Chapter 17: Creating a Machine Learning Architecture Machine learning architectures Data collection Normalization and regularization Dimensionality reduction Data augmentation Data conversion Modeling/grid search/cross-validation Visualization GPU support A brief introduction to distributed architectures Scikit-learn tools for machine learning architectures Pipelines Feature unions Summary Other Books You May Enjoy Index