Hands-on Machine Learning with Python - Implement Neural Network Solutions with Scikit-Learn and PyTorch

Here is the perfect comprehensive guide for readers with basic to intermediate level knowledge of machine learning and deep learning. It introduces tools such as NumPy for numerical processing, Pandas for panel data analysis, Matplotlib for visualization, Scikit-learn for machine learning, and Pytor...

Full description

Saved in:
Bibliographic Details
Main Author Ashwin Pajankar, Aditya Joshi
Format eBook
LanguageEnglish
Published Berkeley, CA Apress, an imprint of Springer Nature 2022
Apress
Apress L. P
Edition1
Subjects
Online AccessGet full text
ISBN9781484279205
1484279204
1484279212
9781484279212
DOI10.1007/978-1-4842-7921-2

Cover

Table of Contents:
  • Title Page Introduction Table of Contents 1. Getting Started with Python 3 and Jupyter Notebook 2. Getting Started with NumPy 3. Introduction to Data Visualization 4. Introduction to Pandas 5. Introduction to Machine Learning with Scikit-Learn 6. Preparing Data for Machine Learning 7. Supervised Learning Methods: Part 1 8. Tuning Supervised Learners 9. Supervised Learning Methods: Part 2 10. Ensemble Learning Methods 11. Unsupervised Learning Methods 12. Neural Network and PyTorch Basics 13. Feedforward Neural Networks 14. Convolutional Neural Networks 15. Recurrent Neural Networks 16. Bringing it All Together Index
  • Phase 5: Evaluation -- Phase 6: Deployment -- How ML Applications Are Served -- Learning with an Example -- Defining the Problem -- Data -- Preparing the Model -- Serializing for Future Predictions -- Hosting the Model -- Hello World in Flask -- What's Next -- Index
  • Intro -- Table of Contents -- About the Authors -- About the Technical Reviewer -- Acknowledgments -- Introduction -- Section 1: Python for Machine Learning -- Chapter 1: Getting Started with Python 3 and Jupyter Notebook -- Python 3 Programming Language -- History of Python Programming Language -- Philosophy of Python Programming Language -- Where Python Is Used -- Installing Python -- Python on Linux Distributions -- Python on macOS -- Python Modes -- Interactive Mode -- Script Mode -- Pip3 Utility -- Scientific Python Ecosystem -- Python Implementations and Distributions -- Anaconda -- Summary -- Chapter 2: Getting Started with NumPy -- Getting Started with NumPy -- Multidimensional Ndarrays -- Indexing of Ndarrays -- Ndarray Properties -- NumPy Constants -- Summary -- Chapter 3: Introduction to Data Visualization -- NumPy Routines for Ndarray Creation -- Matplotlib Data Visualization -- Summary -- Chapter 4: Introduction to Pandas -- Pandas Basics -- Series in Pandas -- Properties of Series -- Pandas Dataframes -- Visualizing the Data in Dataframes -- Summary -- Section 2: Machine Learning Approaches -- Chapter 5: Introduction to Machine Learning with Scikit-learn -- Learning from Data -- Supervised Learning -- Classification -- Regression -- Unsupervised Learning -- Structure of a Machine Learning System -- Problem Understanding -- Data Collection -- Data Annotation and Data Preparation -- Data Wrangling -- Model Development, Training, and Evaluation -- Model Deployment -- Scikit-Learn -- Installing Scikit-Learn -- Understanding the API -- Your First Scikit-learn Experiment -- Summary -- Chapter 6: Preparing Data for Machine Learning -- Types of Data Variables -- Nominal Data -- Ordinal Data -- Interval Data -- Ratio Data -- Transformation -- Transforming Nominal Attributes -- Transforming Ordinal Attributes -- Normalization
  • Min-Max Scaling -- Standard Scaling -- Preprocessing Text -- Preparing NLTK -- Five-Step NLP Pipeline -- 1. Segmentation -- 2. Tokenization -- Stemming and Lemmatization -- Removing Stopwords -- Preparing Word Vectors -- Preprocessing Images -- Summary -- Chapter 7: Supervised Learning Methods: Part 1 -- Linear Regression -- Finding the Regression Line -- Linear Regression Using Python -- Visualizing What We Learned -- Evaluating Linear Regression -- Logistic Regression -- Line vs. Curve for Expression Probability -- Learning the Parameters -- Logistic Regression Using Python -- Visualizing the Decision Boundary -- Decision Trees -- Building a Decision Tree -- Picking the Splitting Attribute -- Decision Tree in Python -- Pruning the Trees -- Interpreting Decision Trees -- Summary -- Chapter 8: Tuning Supervised Learners -- Training and Testing Processes -- Measures of Performance -- Confusion Matrix -- Recall -- Precision -- Accuracy -- F-Measure -- Performance Metrics in Python -- Classification Report -- Cross Validation -- Why Cross Validation? -- Cross Validation in Python -- ROC Curve -- Overfitting and Regularization -- Bias and Variance -- Regularization -- L1 and L2 Regularization -- Hyperparameter Tuning -- Effect of Hyperparameters -- Grid Search -- Random Search -- Summary -- Chapter 9: Supervised Learning Methods: Part 2 -- Naive Bayes -- Bayes Theorem -- Conditional Probability -- How Naive Bayes Works -- Multinomial Naive Bayes -- Naive Bayes in Python -- Support Vector Machines -- How SVM Works -- Nonlinear Classification -- Kernel Trick in SVM -- Support Vector Machines in Python -- Summary -- Chapter 10: Ensemble Learning Methods -- Bagging and Random Forest -- Random Forest in Python -- Boosting -- Boosting in Python -- Stacking Ensemble -- Stacking in Python -- Summary -- Chapter 11: Unsupervised Learning Methods
  • Dimensionality Reduction -- Understanding the Curse of Dimensionality -- Principal Component Analysis -- Principal Component Analysis in Python -- Clustering -- Clustering Using K-Means -- K-Means in Python -- What Is the Right K? -- Clustering for Image Segmentation -- Clustering Using DBSCAN -- Frequent Pattern Mining -- Market Basket Analysis -- Frequent Pattern Mining in Python -- Summary -- Section 3: Neural Networks and Deep Learning -- Chapter 12: Neural Network and PyTorch Basics -- Installing PyTorch -- PyTorch Basics -- Creating a Tensor -- Tensor Operations -- Perceptron -- Perceptron in Python -- Artificial Neural Networks -- Summary -- Chapter 13: Feedforward Neural Networks -- Feedforward Neural Network -- Training Neural Networks -- Gradient Descent -- Backpropagation -- Loss Functions -- Mean Squared Error (MSE) -- Mean Absolute Error -- Negative Log Likelihood Loss -- Cross Entropy Loss -- Hinge Loss -- ANN for Regression -- Activation Functions -- ReLU Activation Function -- Sigmoid Activation Function -- Tanh Activation Function -- Multilayer ANN -- NN Class in PyTorch -- Overfitting and Dropouts -- Classifying Handwritten Digits -- Summary -- Chapter 14: Convolutional Neural Networks -- Convolution Operation -- Structure of a CNN -- Padding and Stride -- CNN in PyTorch -- Image Classification Using CNN -- What Did the Model Learn? -- Deep Networks of CNN -- Summary -- Chapter 15: Recurrent Neural Networks -- Recurrent Unit -- Types of RNN -- One to One -- One to Many -- Many to One -- Many to Many -- RNN in Python -- Long Short-Term Memory -- LSTM Cell -- Time Series Prediction -- Gated Recurrent Unit -- Summary -- Chapter 16: Bringing It All Together -- Data Science Life Cycle -- CRISP-DM Process -- Phase 1: Business Understanding -- Phase 2: Data Understanding -- Phase 3: Data Preparation -- Phase 4: Modelling