Machine Learning with Python for Everyone LiveLessons Part 2: Measuring Models
Code-along sessions move you from introductory machine learning concepts to concrete code.
Machine learning is moving from futuristic AI projects to data analysis on your desk. You need to go beyond following along in discussions to coding machine learning tasks. These videos avoid heavy mathematics to focus on how to turn introductory machine learning concepts into concrete code using Python, scikit-learn, and friends.
You will learn about the fundamental metrics used to evaluate general learning systems and specific metrics used in classification and regression. You will learn techniques for getting the most informative learning performance measures out of your data. You will come away with a strong toolbox of numerical and graphical techniques to understand how your learning system will perform on novel data.
Learn How To
- Recognize underfitting and overfitting with graphical plots
- Make use of resampling techniques like cross-validation to get the most out of your data
- Graphically evaluate the learning performance of learning systems
- Compare production learners with baseline models over various classification metrics
- Build and evaluate confusion matrices and ROC curves
- Apply classification metrics to multiclass learning problems
- Develop precision-recall and lift curves for classifiers
- Compare production regression techniques with baseline regressors over various regression metrics
- Construct residual plots for regressors
Who Should Take This Course
This course is a good fit for anyone that needs to improve their fundamental understanding of machine learning concepts and become familiar with basic machine learning code. You might be a newer data scientist, a data analyst transitioning to the use of machine learning models, a research and development scientist looking to add machine learning techniques to your classical statistical training, or a manager adding data science/machine learning capabilities to your team.
Students should have a basic understanding of programming in Python (variables, basic control flow, simple scripts). They should also have familiarity with the vocabulary of machine learning (dataset, training set, test set, model), but knowledge about the concepts can be very shallow. They should have a working Python installation that allows you to use scikit-learn and matplotlib.
Lesson 1: Evaluating Learning Performance
Lesson 1 covers fundamental issues with learning systems and techniques to assess them. Lesson 1 starts with a discussion of error, cost, and complexity. Then, you learn about overfitting and underfitting: These happen when our model, data, and noise in the system interact with each other poorly. To identify these scenarios, we need to make clever use, and even reuse, of our data. We also look at general techniques to graphically view the performance of our model(s) and how they interact with the data.
Lesson 2: Evaluating Classifiers (Part 1)
Lessons 2 and 3 are about specific issues in evaluating classification systems. Lesson 2 begins with a general discussion of classification metrics, and then turns to baseline classifiers and metrics. Then, the focus is on the confusion matrix and metrics derived from it. The confusion matrix lays out the ways we are right and the ways we are wrong on an outcome-by-outcome basis. Here we focus on the case where we have two outcomes of interest.
Lesson 3: Evaluating Classifiers (Part 2)
Lesson 3 extends the discussion to include cases where we have more than two outcomes of interest. Several approaches to multiclass evaluation are discussed as well as some classification specific graphical techniques: cumulative response and lift curves. The lesson ends with a case study comparison of classifiers.
Lesson 4: Evaluating Regressors
Lesson 4 discusses techniques specific to evaluating regressors. The lesson begins with regression metrics and baseline regressors before turning to various regression metrics. It then covers how to develop custom, user-defined metrics. Next up are graphical evaluation techniques and followed by a quick look at pipelines and standardization. The lesson concludes with a case study comparing several different regression systems.
Table of Contents
1 Machine Learning with Python for Everyone Introduction
Lesson 1 Evaluating Learning Performance
3 Error, Cost, and Complexity
4 OverfittingUnderfitting I Synthetic Data
5 OverfittingUnderfitting II Varying Model Complexity
6 Errors and Costs
7 Resampling Techniques
9 Leave-One-Out Cross-Validation
11 Repeated Train-Test Splits
12 Graphical Techniques
13 Getting Graphical Learning and Complexity Curves
14 Graphical Cross-Validation
Lesson 2 Evaluating Classifiers (Part 1)
16 Classification Metrics
17 Baseline Classifiers and Metrics
18 The Confusion Matrix
19 Metrics from the Binary Confusion Matrix
20 Performance Curves
21 Understanding the ROC Curve and AUC
22 Comparing Classifiers with ROC and PR Curves
Lesson 3 Evaluating Classifiers (Part 2)
24 Multi-Class Issues
25 Multi-class Metric Averages
26 Multi-class AUC One-versus-Rest
27 Multi-class AUC The Hand and Till Method
28 More Curves
29 Cumulative Response and Lift Curves
30 Case Study A Classifier Comparison
Lesson 4 Evaluating Regressors
32 Regression Metrics
33 Baseline Regressors
34 Regression Metrics Custom Metrics and RMSE
35 Understanding the Default Regression Metric R^2
36 Errors and Residual Plots
38 A Quick Pipeline and Standardization
39 Case Study A Regressor Comparison
40 Machine Learning with Python for Everyone Summary