Machine Learning using Python, 2ed
Description
Machine Learning using Python offers a comprehensive foundation in machine learning, blending theoretical concepts with practical applications. It is ideal for beginners and aspiring professionals, covering all essential topics to build a strong foundation in machine learning. The book begins with python language basics, statistics, probability, and exploratory data analysis, and then progresses to supervised learning techniques like linear and logistic regressions, decision trees, KNN, SVM, random forests, boosting, stacking, recommender systems, and text analytics. It also explores unsupervised learning techniques such as clustering, anomaly detection, and dimensionality reduction.
The book also addresses advanced topics like ML explainability and MLOps, including model interpretation, deployment, and monitoring. Each chapter includes real-world use cases and step-by-step Python implementations using libraries like Pandas, NumPy, Matplotlib, Seaborn, and Sci kit-learn. The content reflects over 15 years of teaching experience of the authors in institutions like IIM Bangalore and ISB Hyderabad.
Table of Contents
1 INTRODUCTION TO MACHINE LEARNING
1.1 Introduction to Analytics and Machine Learning
1.2 Why Machine Learning?
1.3 Framework for Developing Machine Learning Models
1.4 Why Python?
1.5 Python Stack for Machine Learning
1.6 Getting Started with Anaconda Platform
1.7 Introduction to Python
Further Reading
References
2 EXPLORATORY DATA ANALYSIS
2.1 Working with DataFrames in Python
2.2 Handling Missing Values
2.3 Exploration of Data Using Visualization
2.4 Cross Tabulation and Heatmap
Conclusion
Exercises
References
3 PROBABILITY AND STATISTICS
3.1 Overview
3.2 Probability Theory – Terminology
3.3 Random Variables
3.4 Binomial Distribution
3.5 Poisson Distribution
3.6 Exponential Distribution
3.7 Normal Distribution
3.8 Central Limit Theorem
3.9 Hypothesis Test
3.10 Analysis of Variance (ANOVA)
Conclusion
Exercises
References
4 REGRESSION
4.1 Simple Linear Regression
4.2 Steps in Building a Regression Model
4.3 Building Simple Linear Regression Model
4.4 Model Diagnostics
4.5 Multiple Linear Regression
Conclusion
Exercises
References
5 CLASSIFICATION
5.1 Classification Overview
5.2 Binary Logistic Regression
5.3 Credit Classification
5.4 Gain Chart and Lift Chart
5.5 Classification Tree (Decision Tree Learning)
Conclusion
Exercises
References
6 ADVANCED SUPERVISED LEARNING
6.1 Overview
6.2 Gradient Descent Algorithm
6.3 Scikit-learn Library for Machine Learning
6.4 Advanced Regression Models
6.5 Advanced Machine Learning Algorithms
Conclusion
Exercises
References
7 UNSUPERVISED LEARNING
7.1 Overview
7.2 Clustering Overview
7.3 K-Means Clustering
7.4 Creating Product Segments Using Clustering
7.5 Hierarchical Clustering
7.6 Density-Based Clustering: DBSCAN
7.7 Outlier Detection
7.8 Dimensionality Reduction
Conclusion
Exercises
References
8 FORECASTING
8.1 Forecasting Overview
8.2 Components of Time-Series Data
8.3 Moving Average
8.4 Decomposing Time Series
8.5 Auto-Regressive Integrated Moving Average Models
Conclusion
Exercises
References
9 RECOMMENDER SYSTEMS
9.1 Overview
9.2 Association Rules (Association Rule Mining)
9.3 Collaborative Filtering
9.4 Using Surprise Library
9.5 Matrix Factorization
Conclusion
Exercises
References
10 TEXT ANALYTICS
10.1 Overview
10.2 Sentiment Classification
10.3 Naïve–Bayes Model for Sentiment Classification
10.4 Using TF-IDF Vectorizer
10.5 Challenges of Text Analytics
Conclusion
Exercises
References
11 ML EXPLAINABILITY
11.1 Overview
11.2 Use Case for Model Explainability
11.3 Model-Agnostic Techniques for ML Explainability
Conclusion
Exercises
References
12 MLOPS
12.1 Introduction
12.2 MLOps Systems
12.3 Building Blocks of MLOps Framework
12.4 ML Pipeline
12.5 Experiment Tracking and Model Registry
12.6 ML Model Serving
12.7 Model Deployment Strategies
12.8 Model Drift Monitoring
Conclusion
Exercises
References
Index