Chapter 1 - Introduction
1.1 What is Machine Learning?
1.2 Approaches to Machine Learning
1.3 Life Cycle of a Machine Learning Project
1.4 Overview of the Book
1.5 Jupyter Notebook
Chapter 2 - NumPy
2.1 What is NumPy?
2.2 Importing the NumPy Library
2.3 Creating a NumPy Array
2.4 Selecting Data from a NumPy Array
2.5 ndarray Methods
2.6 NumPy Functions
Chapter 3 - pandas
3.1 What is pandas?
3.2 Importing the pandas Library
3.3 Creating a pandas Series
3.4 Creating a pandas DataFrame
3.5 Using read_csv()
3.6 Exploring data in a DataFrame
3.7 Changing labels of row(s) and column(s)
3.8 Selecting Data from a DataFrame
3.8.1 Selecting Columns
3.8.2 Selecting Rows
3.8.3 Selecting Rows and Columns
3.9 Updating a DataFrame
3.10 Useful Methods in pandas
Chapter 4 - Matplotlib
4.1 What is Matplotlib?
4.2 Using matplotlib.pyplot
4.2.1 Plotting a Scatter Plot
4.2.2 Plotting a Bar Chart
4.2.3 Plotting a Histogram
4.2.4 Plotting a Line Graph
4.3 Using pandas
4.3.1 plot()
4.3.2 hist()
4.4 Designing our Charts
4.5 The Object-Oriented Interface
Chapter 5 - Scikit-Learn
5.1 Overview of the Scikit-Learn Library
5.1.1 Organizational Structure
5.1.2 Estimators, Transformers, and Predictors
5.2 Data Preprocessing with Scikit-Learn
5.2.1 Handling Missing Data
5.2.2 Encoding Categorical Data
5.2.3 Feature Scaling
5.3 Pipeline and ColumnTransformer
5.3.1 Pipeline
5.3.2 ColumnTransformer
5.4 Model Evaluation with Scikit-Learn
5.4.1 Classification metrics
5.4.2 Regression metrics
5.5 Model Selection with Scikit-Learn
5.5.1 Train Test Split
5.5.2 k-Fold Cross-Validation
Chapter 6 - Regression
6.1 What is Regression?
6.2 Linear Regression
6.3 Linear Regression with Scikit-Learn
6.4 Polynomial Regression
6.5 Polynomial Regression with Scikit-Learn
6.6 Pipeline
6.7 Cross-Validation
Chapter 7 – Classification
7.1 What is Classification?
7.2 Decision Tree
7.3 Random Forest
7.4 Decision Tree and Random Forest with Scikit-Learn
7.5 Support Vector Machine
7.5.1 Binary Classification
7.5.2 Multi-class Classification
7.6 SVM with Scikit-Learn
Chapter 8 - Clustering
8.1 What is Clustering?
8.2 K-Means Clustering
8.2.1 Centroid initialization methods
8.2.2 Determining the Number of Clusters
8.3 K Means Clustering with Scikit-Learn
Chapter 9 - Advanced Topics in Machine Learning
9.1 Dimensionality Reduction
9.2 Overfitting and Underfitting
9.2.1 Variance and Bias
9.2.2 Overcoming Underfitting and Overfitting
9.3 Hyperparameter Tuning
9.4 Dimensionality Reduction and Hyperparameter Tuning with Scikit-Learn
9.4.1 Dimensionality Reduction with PCA
9.4.2 Hyperparameter Tuning
Project 1 - Regression
Project 2 - Classification
Project 3 - Clustering
Appendix A - Suggested Solution for Project 1
Appendix B - Suggested Solution for Project 2
Appendix C - Suggested Solution for Project 3
Machine Learning for Beginners
Complex concepts are broken down into simple steps and examples are carefully chosen to illustrate each concept. Mathematical concepts are explained without complicated notations and formulas.
Hands-On Approach
Countless examples are provided for you to try out in each chapter, so that you can understand exactly what different machine learning methods do.
Systematic Approach
A systematic approach is taken to provide you with the background knowledge needed before covering advanced concepts.
The best way to learn anything is by doing.
This book includes three hands-on projects at the end of the book for you to apply and practice all the concepts taught previously.
Working through the projects will not only give you an immense sense of achievement, it'll also help you retain the knowledge and solidify your understanding.
Whether you are an aspiring data scientist or just curious about machine learning, the book is designed to help you grasp the fundamental concepts of machine learning in a systematic and step-by-step fashion.
Finally, you'll be guided through three hands-on projects that require the application of all the topics covered.