This site is powered by
course builder. Create your online course today.
Start now
Create your course
with
Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Python and Machine Learning for Complete Beginners
Getting Started
Introduction (5:37)
How to Use This Course (10:36)
Installing Python (3:18)
Installing Powershell (4:18)
Python Virtual Environments (6:32)
Visual Studio Code (5:43)
Hello World (4:11)
The Shebang or Hashbang (4:08)
Where to Find the Source Code (2:11)
VS Code Tips (5:42)
Variables (5:36)
An Interactive Program (5:52)
Builtin Functions (5:17)
Numeric Variables (7:17)
Numeric Expressions (5:16)
Python Types (5:44)
Peforming Calculations (9:06)
Converting Temperatures (8:43)
Loops and Conditions
A Program Inspired By WarGames (1:33)
Boolean Variables (6:13)
The If Statement (8:25)
If Else (2:12)
Constants (6:51)
If Else If (7:20)
Comparison Operators (8:13)
Fridge Exercise (4:28)
Fridge Solution (9:03)
Fridge Improvements (8:37)
For Loops (5:23)
Ranges (4:46)
Indentation (4:23)
Break (5:42)
Continue (2:07)
Password Exercise (2:01)
Password Solution (6:04)
Boolean Operators (6:37)
Boolean Operators Exercise (2:11)
Boolean Operators First Solution (12:29)
Boolean Operators Second Solution (4:31)
While Loops (3:56)
Functions
Your First Function (7:20)
Multiple Functions (6:24)
Function Arguments (5:23)
The Identity Function (6:19)
Changing Parameters (4:48)
Return Values (6:52)
Multiple Arguments (5:46)
Factorial Exercise (4:50)
Factorial Solution (5:49)
Default Arguments (3:53)
Keyword Arguments (3:39)
Variable Length Arguments (4:59)
Variable Length Keyword Arguments (7:41)
Arguments and Parameters Summary (4:45)
Arguments Exercise Solution (3:46)
Multiple Return Values (4:25)
BMI Exercise Solution (3:10)
Containers
Tuples (5:26)
Packing and Unpacking Tuples (7:21)
Tuple Slicing (5:32)
Tuple Functions and Operators (7:54)
Lists (4:18)
Joining Lists (9:14)
Modifying Lists (9:18)
Extended Slicing (8:25)
Inserting and Extending Lists (2:41)
Removing List Items (4:36)
List Comprehensions (7:51)
List Comprehension Conditions (4:53)
List Comprehension If Else (3:23)
List Database Exercise (4:12)
Database Exercise Tips (5:06)
Database Exercise Functions (7:20)
Completing the Database (7:20)
About Data Validation (3:05)
Sets (7:00)
Adding To and Updating Sets (3:41)
Removing Items from Sets (5:07)
Set Union and Intersection (4:59)
Difference Update (4:22)
Set Exercise (1:16)
Set Exercise Solution (5:02)
Dictionaries (4:21)
Adding Items to Dictionaries (3:46)
Iterating Over Dictionaries (4:48)
Dictionary Views (4:50)
Deleting Dictionary Items (2:39)
The Dictionary Get Method (2:39)
Default Dictionaries (4:08)
Dictionary Comprehensions (4:43)
Dictionary Exercise (1:22)
Dictionary Exercise Solution (7:17)
Casefold and None (6:23)
Enumerate and Zip (3:38)
Improving the Dictionary Exercise Solution (3:58)
Hashing Algorithms (8:00)
Container Summary (5:23)
Time Complexity (7:43)
Lists of Lists (3:30)
Iterating Over Lists of Lists (5:50)
Dictionaries of Lists (4:12)
Dictionaries of Sets Exercise (6:59)
Dictionaries of Sets Solution Part 1 (4:33)
Dictionaries of Sets Solution Part 2 (7:39)
Global Variables (4:33)
Random Items (1:55)
Modular Arithmetic (5:07)
Containers Exercise (2:45)
Containers Solution Part 1 (5:29)
Container Solution Part 2 (8:35)
String Formatting
String Review (7:41)
Formatting Strings (6:52)
The Format Method (8:54)
F-Strings (2:13)
Raw Strings (2:59)
Regular Expressions
A Simple Regular Expression (3:43)
Matching Multiple Characters (2:45)
The Ternary Operator (3:35)
Greedy Matching (5:56)
Matching Numbers and Words (7:29)
Capture Groups (3:07)
Ranges in Regexes (4:33)
Character Classes (4:25)
Email Exercise Solution (3:29)
Character Class Not (6:24)
A Note On Escaping (2:50)
Regular Expression Comments (5:51)
Referring to Capture Groups (3:07)
Capture and Non-Capture Groups (5:44)
Matching Newlines (4:05)
Matching Ends of Lines (4:56)
Search (3:42)
Findall (4:46)
Matching Starts of Lines (5:39)
Splitting (2:36)
Substitution (1:37)
Alternatives (4:36)
Budget Exercise (2:45)
Budget Solution Part 1 (6:02)
Budget Solution Part 2 (7:48)
Ignoring Case (2:16)
Compiling Regular Expressions (6:32)
Lookahead Assertions (8:05)
Not Space or Digits or Text (4:15)
Regular Expressions Summary (5:59)
Handling Errors
Tracebacks (3:31)
Try Except (3:56)
Catching Errors (5:20)
Error Messages (3:09)
Raising Exceptions (6:41)
KeyboardInterrupt (4:10)
Finally (5:43)
Errors Exercise (1:21)
Errors Solution (6:11)
Calculating Pi Exercise (3:10)
Pi Exercise Solution (6:26)
Assertions (5:43)
Object-Oriented Programming
Classes (6:59)
Constructors (5:00)
Self (7:18)
Properties (7:14)
Converting to Strings (4:19)
Encapsulation (6:16)
An OO Word Game (8:03)
Choosing Words (4:17)
Guessing Letters (6:17)
Displaying Letters (5:53)
Completing the Word Game (7:08)
Getters and Setters (8:08)
Inheritance (5:54)
Overriding Methods (3:33)
Polymorphism (5:41)
Super Constructors (5:24)
Class Properties (7:03)
Assigning IDs (4:24)
Class Methods (6:53)
Objects and Classes (6:04)
OOP Exercise (4:39)
OOP Solution Part 1 (5:28)
OOP Solution Part 2 (6:25)
OOP Solution Part 3 (6:48)
Class Hierarchies (5:44)
Multiple Inheritance (3:29)
The Diamond Problem (6:01)
Mixins (7:00)
The Property Class (9:23)
Conway's Game of Life
About Installing Tkinter (1:21)
Conway Game of Life (2:23)
A Basic GUI App (5:29)
Frames (5:04)
Refactoring Into Classes (5:06)
Grids (7:57)
A Canvas Class (4:09)
Getting Widget Sizes (9:18)
Drawing Cells (6:19)
A Cell Class (6:45)
Toggling Cell State (7:02)
Handling Button Clicks (5:51)
Selecting Neighbours (3:48)
Wrapping (8:12)
Game of Life Rules (3:38)
Implementing the Rules (8:30)
Clearing the Grid (2:11)
Randomising (6:46)
Modules
Modules Demo (5:04)
Conditionally Running Main (6:00)
Importing Parts of Modules (2:50)
Packages (2:58)
Games Package Solution (4:13)
Functions in Dictionaries (7:15)
Games Menu Solution (5:56)
Package Initialisation (6:49)
How Python Locates Modules (6:30)
Inspecting Modules (5:03)
Subpackages (3:59)
Package Attributes (4:25)
Referencing Parallel Packages (5:11)
Installing Modules (7:59)
Operators
Clock Exercise (3:16)
Clock Solution (3:38)
Implementing Add (2:45)
Implementing Unary Operators (5:10)
Flags (3:47)
Bitwise Or (5:49)
Bitwise Flags (5:51)
Bitwise And (1:42)
Flags Exercise (3:34)
Flags Solution (7:13)
Bitwise XOR and NOT (4:56)
Bit Shift Operators (7:07)
Hexadecimal Numbers (9:08)
Hexadecimal Colors Solutions (6:07)
Functional Programming
Recursion (5:38)
Introducing Functional Programming (3:33)
Passing Functions to Functions (3:43)
Iterators (6:19)
Powers of Two Iterator (4:05)
Mapping (5:17)
Lambda Functions (1:48)
Defining Functions in Loops (6:49)
1209_Lambda_Exercise_Solution (3:55)
Sorting (4:46)
Next and Iter (7:59)
Generating Characters (3:23)
Generators (4:45)
Generators Exercise (2:29)
Generators Solution (1:56)
General Generator Syntax (3:05)
Generators As Loops Solution (5:21)
Game of Life Solution (5:45)
Itertools (5:01)
Function Generators (3:56)
Powers of Two Generator Solution (2:04)
Filtering (2:33)
Reduce (4:07)
A Functional Word Exercise (3:35)
Functional Word Solution (4:01)
Functional Parsing Exercise (1:11)
Functional Parsing Solution (3:18)
Files
Reading Files (2:25)
Mall Customers Database (4:20)
Ensuring Files Get Closed (2:35)
Examining With (6:05)
Iterating Over Files (2:53)
Writing Files (3:12)
Files Exercise Solution (7:03)
Appending to Files (1:27)
Handling Binary Text (8:31)
Binary Files (3:13)
Serialization (3:05)
Serializing Integers (5:32)
Deserializing Integers (3:36)
Saving and Loading Ints (4:24)
Numbers Versus Bytes (11:28)
Python Arrays (7:49)
Saving Arrays (5:51)
Pickling (3:54)
JSON (5:05)
File Dialogs (8:21)
Game of Life Menus (4:55)
Game of Life Load and Save (9:30)
Testing Game of Life (5:03)
The OS Module (6:08)
Word Count Exercise (3:26)
Splitting into Words (7:20)
Counting Words (6:50)
Numpy
Numpy Arrays (6:37)
Creating Numpy Arrays (11:23)
Numpy Arithmetic (4:42)
Numpy Slicing (5:20)
2D Indexing (5:12)
Views (4:20)
Advanced Indexing (6:12)
Numpy Matrices (7:17)
Matrix Multiplication (6:17)
Numpy Functions (4:24)
Numpy Exercise (2:50)
Numpy Solution Part 1 (6:38)
Numpy Solution Part 2 (5:10)
Tiling (4:42)
Masks (2:18)
Combining Boolean Arrays (3:42)
Filtering Numpy Arrays (3:41)
Variance and Standard Deviation (5:42)
Variance Exercise (6:11)
Bessel's Correction (8:02)
Scaling and Variance (7:50)
Loading CSV in Numpy (1:52)
Graphs and Plotting
Pyplot Basics (3:09)
Styles (5:00)
Configuration (3:31)
More Configuration (6:22)
Word Lengths Exercise (1:35)
Word Length Plot Solution Part 1 (9:24)
Word Length Solution Part 2 (6:54)
Bar Charts (5:49)
Pie Charts (6:22)
Pie Chart Solution (5:51)
Scatter Plots (10:08)
Histograms (6:22)
Multiple Graphs on One Chart (4:51)
Subplots (6:50)
Subplots Solution (6:26)
3D Plots (6:02)
Pandas
Introduction (6:08)
Referencing Cells (3:58)
Loc and iloc (7:34)
Changing Values (5:44)
Pandas Functions (7:34)
Series (4:36)
Pandas Charts (3:09)
Sorting (6:11)
Correlations (6:02)
Grouping (6:52)
Grouped Types (5:09)
Group Aggregate Functions (4:18)
Filtering (4:25)
Multiple Groups (3:39)
Plotting Groups (8:15)
Binning (8:13)
Groupby Exercise (0:40)
Groupby Exercise Solution Part 1 (5:43)
Groupby Exercise Solution Part 2 (7:15)
Zipfs Law Exercise (8:38)
Zipfs Law Solution (5:11)
Regression
Introduction (4:35)
Linear Regression Data (5:20)
Configuring Labels (6:19)
Equation of a Line (7:01)
Linear Regression (7:36)
Why Add Constant (5:45)
R Squared (5:19)
Calculating R Squared (7:53)
Train Test (7:39)
Predictions With Linear Regression (8:31)
Linear Regression Exercise (2:52)
Categorical Columns and Correlations (2:20)
Plotting Grapes Solution (3:25)
Predicting Grape Weights (6:43)
Removing Outliers (6:56)
Multiple Linear Regression (5:05)
A Multiple Linear Regression Model (7:03)
About Polynomial Regression (6:20)
Polynomial Features (7:32)
A Polynomial Regression Model (9:02)
A Surprising Result (6:55)
Loading Emails (7:29)
Binomial Logistic Regression and Causation (7:27)
Categorical Dummies (5:39)
The Logistic Equation (7:03)
Logistic Regression Model (6:32)
Multiple Logistic Regression (6:21)
Getting Predictions with Logistic Regression (3:23)
Confusion Matrices (6:40)
Scaling and Normalisation (8:38)
Normalising Split Data (7:15)
Using Standard Scaler (8:47)
Confusion Matrix Exercise (4:04)
Confusion Matrix Solution Part 1 (7:27)
Confusion Matrix Solution Part 2 (7:10)
Clustering
Clustering (5:34)
K-Means Clustering (8:17)
Centroids and Inertia (4:31)
The Elbow Method (7:35)
K-Means Exercise Solution (5:48)
Exercise Analysis (4:46)
The Iris Flower Data Set (4:09)
Loading the Iris Data (4:33)
Seaborn Plots (5:14)
K-Means Iris Exercise (2:15)
K-Means Iris Solution (12:07)
Permutations Exercise (4:52)
Permutations Solution (7:07)
Normalized Mutual Information (4:26)
Dendrograms (7:37)
The Linkage Table (9:23)
Clustering Iris Data (8:22)
Scikit-Learn Agglomerative Clustering (7:25)
Linkage and Affinity (7:28)
Fit Predict Transform (6:49)
Nearest Neighbours (5:26)
Spherically Symmetric Data (9:40)
DBSCAN (5:47)
Determining Epsilon (9:19)
Using DBSCAN (6:41)
DBSCAN Moons Exercise (6:44)
DBSCAN Moons Solution (7:54)
Silhouette Scores (4:43)
Nearest Neighbors Classification (2:08)
Using K-Neighbors Classifier (9:24)
Naive Bayes
Bayes' Theorem (13:15)
Naive Bayes (6:07)
Applying Naive Bayes to Classification (6:12)
An Email Dataset (1:20)
Counting Words (3:29)
Listing Common Words (7:02)
The Predictor Matrix (4:01)
Naive Bayes Classifiers (9:03)
Naive Bayes Exercise (4:17)
Naive Bayes Solution (6:39)
Classifying Irises (6:21)
Decision Trees
Introduction (5:18)
Gini Impurity (4:08)
Calculating Gini Impurity (5:36)
Gini Impurity Examples (5:52)
Decision Tree Exercise (1:35)
Decision Tree Solution (2:40)
Seaborn Iris Plots (7:18)
Plotting Decision Trees (5:47)
Principal Component Analysis
Introduction (4:57)
Data for PCA (7:18)
How PCA Works (9:34)
Transforming Data With PCA (8:37)
Explained Variance Ratios (9:04)
Iris Data PCA Analysis (8:09)
PCA Components (5:03)
Classifying Irises With PCA (9:05)
PCA Tips (6:59)
PCA Exercise (3:36)
PCA Solution (13:42)
The MNIST Dataset (4:23)
Fetching from Openml (6:26)
Loading MNIST With Keras (6:33)
Character Recognition (9:47)
Configuring Logistic Regression (8:37)
Displaying Images (7:04)
Artificial Neural Networks (ANNs)
An Artificial Neuron (5:42)
Activation Functions (5:31)
Minimizing Loss (8:22)
Preparing Iris Data (8:30)
A Basic ANN (10:27)
Dropout and Tweaking the Network (5:23)
MNIST Exercise (4:21)
MNIST Preparing the Data (4:38)
MNIST ANN (9:34)
Improving the MNIST ANN (4:57)
Comparing Subarrays (5:43)
Displaying Misclassified Images (6:18)
Saving and Loading (3:29)
Pipelines (6:23)
Standalone Classifier (4:09)
California Housing Dataset (4:08)
Regression Neural Net (8:54)
Improving Regression (3:30)
Analysing Results (7:33)
Detecting Overfitting (8:51)
Conclusion
Conclusion (5:08)
For Loops
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock