Python and Machine Learning for Complete Beginners
Become a part of the artificial intelligence revolution
Watch Promo Enroll in Course
off original price!
The coupon code you entered is expired or invalid, but the course is still available!
This course teaches you computer programming in Python from scratch, and also the basics of machine learning in Python.
With this course you can become part of the Artificial Intelligence revolution.
You'll learn:
- How to write programs in Python
- The basics of desktop programming in Python
- Object-oriented programming and functional programming techniques
- How to use machine learning techniques in your code
- The basics of visualising and analysing data
- Numpy, Pandas, Matplotlib, scikit-learn, Keras and more
- How to use ML techniques to make predictions about data series, spot clusters in data, automatically classify data samples and recognise handwritten digits.
Whether you're a complete beginner with coding or already know some Python or another language, this course can help give you modern computer skills to the point where you could apply for Python jobs, where available.
Python is one of the most popular programming languages today and is especially popular because of its support for machine learning and artificial intelligence.
This courses takes you all the way from writing your first "hello world" Python program to being able to write complex programs incorporating artificial intelligence techniques in which your software can automatically learn how to complete tasks.
Your Instructor
John Purcell
I worked as a professional developer for 14 years for several different companies including Proquest, CSC and AT&T before going full-time as a course creator. I currently live in Italy, although as a native Brit you get to enjoy (or put up with!) my British English accent while following your chosen courses.
In my spare time I like to write science fiction, often in cafes, and I'm a fan of old books.
Course Curriculum
Getting Started
Available in
days
days
after you enroll
-
PreviewIntroduction (5:37)
-
PreviewHow to Use This Course (10:36)
-
PreviewInstalling Python (3:18)
-
PreviewInstalling Powershell (4:18)
-
PreviewPython Virtual Environments (6:32)
-
PreviewVisual Studio Code (5:43)
-
PreviewHello World (4:11)
-
PreviewThe Shebang or Hashbang (4:08)
-
PreviewWhere to Find the Source Code (2:11)
-
PreviewVS Code Tips (5:42)
-
StartVariables (5:36)
-
StartAn Interactive Program (5:52)
-
StartBuiltin Functions (5:17)
-
StartNumeric Variables (7:17)
-
StartNumeric Expressions (5:16)
-
StartPython Types (5:44)
-
StartPeforming Calculations (9:06)
-
StartConverting Temperatures (8:43)
Loops and Conditions
Available in
days
days
after you enroll
-
StartA Program Inspired By WarGames (1:33)
-
StartBoolean Variables (6:13)
-
StartThe If Statement (8:25)
-
StartIf Else (2:12)
-
StartConstants (6:51)
-
StartIf Else If (7:20)
-
StartComparison Operators (8:13)
-
StartFridge Exercise (4:28)
-
StartFridge Solution (9:03)
-
StartFridge Improvements (8:37)
-
StartFor Loops (5:23)
-
StartRanges (4:46)
-
StartIndentation (4:23)
-
StartBreak (5:42)
-
StartContinue (2:07)
-
StartPassword Exercise (2:01)
-
StartPassword Solution (6:04)
-
StartBoolean Operators (6:37)
-
StartBoolean Operators Exercise (2:11)
-
StartBoolean Operators First Solution (12:29)
-
StartBoolean Operators Second Solution (4:31)
-
StartWhile Loops (3:56)
Functions
Available in
days
days
after you enroll
-
StartYour First Function (7:20)
-
StartMultiple Functions (6:24)
-
StartFunction Arguments (5:23)
-
StartThe Identity Function (6:19)
-
StartChanging Parameters (4:48)
-
StartReturn Values (6:52)
-
StartMultiple Arguments (5:46)
-
StartFactorial Exercise (4:50)
-
StartFactorial Solution (5:49)
-
StartDefault Arguments (3:53)
-
StartKeyword Arguments (3:39)
-
StartVariable Length Arguments (4:59)
-
StartVariable Length Keyword Arguments (7:41)
-
StartArguments and Parameters Summary (4:45)
-
StartArguments Exercise Solution (3:46)
-
StartMultiple Return Values (4:25)
-
StartBMI Exercise Solution (3:10)
Containers
Available in
days
days
after you enroll
-
StartTuples (5:26)
-
StartPacking and Unpacking Tuples (7:21)
-
StartTuple Slicing (5:32)
-
StartTuple Functions and Operators (7:54)
-
StartLists (4:18)
-
StartJoining Lists (9:14)
-
StartModifying Lists (9:18)
-
StartExtended Slicing (8:25)
-
StartInserting and Extending Lists (2:41)
-
StartRemoving List Items (4:36)
-
StartList Comprehensions (7:51)
-
StartList Comprehension Conditions (4:53)
-
StartList Comprehension If Else (3:23)
-
StartList Database Exercise (4:12)
-
StartDatabase Exercise Tips (5:06)
-
StartDatabase Exercise Functions (7:20)
-
StartCompleting the Database (7:20)
-
StartAbout Data Validation (3:05)
-
StartSets (7:00)
-
StartAdding To and Updating Sets (3:41)
-
StartRemoving Items from Sets (5:07)
-
StartSet Union and Intersection (4:59)
-
StartDifference Update (4:22)
-
StartSet Exercise (1:16)
-
StartSet Exercise Solution (5:02)
-
StartDictionaries (4:21)
-
StartAdding Items to Dictionaries (3:46)
-
StartIterating Over Dictionaries (4:48)
-
StartDictionary Views (4:50)
-
StartDeleting Dictionary Items (2:39)
-
StartThe Dictionary Get Method (2:39)
-
StartDefault Dictionaries (4:08)
-
StartDictionary Comprehensions (4:43)
-
StartDictionary Exercise (1:22)
-
StartDictionary Exercise Solution (7:17)
-
StartCasefold and None (6:23)
-
StartEnumerate and Zip (3:38)
-
StartImproving the Dictionary Exercise Solution (3:58)
-
StartHashing Algorithms (8:00)
-
StartContainer Summary (5:23)
-
StartTime Complexity (7:43)
-
StartLists of Lists (3:30)
-
StartIterating Over Lists of Lists (5:50)
-
StartDictionaries of Lists (4:12)
-
StartDictionaries of Sets Exercise (6:59)
-
StartDictionaries of Sets Solution Part 1 (4:33)
-
StartDictionaries of Sets Solution Part 2 (7:39)
-
StartGlobal Variables (4:33)
-
StartRandom Items (1:55)
-
StartModular Arithmetic (5:07)
-
StartContainers Exercise (2:45)
-
StartContainers Solution Part 1 (5:29)
-
StartContainer Solution Part 2 (8:35)
String Formatting
Available in
days
days
after you enroll
Regular Expressions
Available in
days
days
after you enroll
-
StartA Simple Regular Expression (3:43)
-
StartMatching Multiple Characters (2:45)
-
StartThe Ternary Operator (3:35)
-
StartGreedy Matching (5:56)
-
StartMatching Numbers and Words (7:29)
-
StartCapture Groups (3:07)
-
StartRanges in Regexes (4:33)
-
StartCharacter Classes (4:25)
-
StartEmail Exercise Solution (3:29)
-
StartCharacter Class Not (6:24)
-
StartA Note On Escaping (2:50)
-
StartRegular Expression Comments (5:51)
-
StartReferring to Capture Groups (3:07)
-
StartCapture and Non-Capture Groups (5:44)
-
StartMatching Newlines (4:05)
-
StartMatching Ends of Lines (4:56)
-
StartSearch (3:42)
-
StartFindall (4:46)
-
StartMatching Starts of Lines (5:39)
-
StartSplitting (2:36)
-
StartSubstitution (1:37)
-
StartAlternatives (4:36)
-
StartBudget Exercise (2:45)
-
StartBudget Solution Part 1 (6:02)
-
StartBudget Solution Part 2 (7:48)
-
StartIgnoring Case (2:16)
-
StartCompiling Regular Expressions (6:32)
-
StartLookahead Assertions (8:05)
-
StartNot Space or Digits or Text (4:15)
-
StartRegular Expressions Summary (5:59)
Handling Errors
Available in
days
days
after you enroll
-
StartTracebacks (3:31)
-
StartTry Except (3:56)
-
StartCatching Errors (5:20)
-
StartError Messages (3:09)
-
StartRaising Exceptions (6:41)
-
StartKeyboardInterrupt (4:10)
-
StartFinally (5:43)
-
StartErrors Exercise (1:21)
-
StartErrors Solution (6:11)
-
StartCalculating Pi Exercise (3:10)
-
StartPi Exercise Solution (6:26)
-
StartAssertions (5:43)
Object-Oriented Programming
Available in
days
days
after you enroll
-
StartClasses (6:59)
-
StartConstructors (5:00)
-
StartSelf (7:18)
-
StartProperties (7:14)
-
StartConverting to Strings (4:19)
-
StartEncapsulation (6:16)
-
StartAn OO Word Game (8:03)
-
StartChoosing Words (4:17)
-
StartGuessing Letters (6:17)
-
StartDisplaying Letters (5:53)
-
StartCompleting the Word Game (7:08)
-
StartGetters and Setters (8:08)
-
StartInheritance (5:54)
-
StartOverriding Methods (3:33)
-
StartPolymorphism (5:41)
-
StartSuper Constructors (5:24)
-
StartClass Properties (7:03)
-
StartAssigning IDs (4:24)
-
StartClass Methods (6:53)
-
StartObjects and Classes (6:04)
-
StartOOP Exercise (4:39)
-
StartOOP Solution Part 1 (5:28)
-
StartOOP Solution Part 2 (6:25)
-
StartOOP Solution Part 3 (6:48)
-
StartClass Hierarchies (5:44)
-
StartMultiple Inheritance (3:29)
-
StartThe Diamond Problem (6:01)
-
StartMixins (7:00)
-
StartThe Property Class (9:23)
Conway's Game of Life
Available in
days
days
after you enroll
-
StartAbout Installing Tkinter (1:21)
-
StartConway Game of Life (2:23)
-
StartA Basic GUI App (5:29)
-
StartFrames (5:04)
-
StartRefactoring Into Classes (5:06)
-
StartGrids (7:57)
-
StartA Canvas Class (4:09)
-
StartGetting Widget Sizes (9:18)
-
StartDrawing Cells (6:19)
-
StartA Cell Class (6:45)
-
StartToggling Cell State (7:02)
-
StartHandling Button Clicks (5:51)
-
StartSelecting Neighbours (3:48)
-
StartWrapping (8:12)
-
StartGame of Life Rules (3:38)
-
StartImplementing the Rules (8:30)
-
StartClearing the Grid (2:11)
-
StartRandomising (6:46)
Modules
Available in
days
days
after you enroll
-
StartModules Demo (5:04)
-
StartConditionally Running Main (6:00)
-
StartImporting Parts of Modules (2:50)
-
StartPackages (2:58)
-
StartGames Package Solution (4:13)
-
StartFunctions in Dictionaries (7:15)
-
StartGames Menu Solution (5:56)
-
StartPackage Initialisation (6:49)
-
StartHow Python Locates Modules (6:30)
-
StartInspecting Modules (5:03)
-
StartSubpackages (3:59)
-
StartPackage Attributes (4:25)
-
StartReferencing Parallel Packages (5:11)
-
StartInstalling Modules (7:59)
Operators
Available in
days
days
after you enroll
-
StartClock Exercise (3:16)
-
StartClock Solution (3:38)
-
StartImplementing Add (2:45)
-
StartImplementing Unary Operators (5:10)
-
StartFlags (3:47)
-
StartBitwise Or (5:49)
-
StartBitwise Flags (5:51)
-
StartBitwise And (1:42)
-
StartFlags Exercise (3:34)
-
StartFlags Solution (7:13)
-
StartBitwise XOR and NOT (4:56)
-
StartBit Shift Operators (7:07)
-
StartHexadecimal Numbers (9:08)
-
StartHexadecimal Colors Solutions (6:07)
Functional Programming
Available in
days
days
after you enroll
-
StartRecursion (5:38)
-
StartIntroducing Functional Programming (3:33)
-
StartPassing Functions to Functions (3:43)
-
StartIterators (6:19)
-
StartPowers of Two Iterator (4:05)
-
StartMapping (5:17)
-
StartLambda Functions (1:48)
-
StartDefining Functions in Loops (6:49)
-
Start1209_Lambda_Exercise_Solution (3:55)
-
StartSorting (4:46)
-
StartNext and Iter (7:59)
-
StartGenerating Characters (3:23)
-
StartGenerators (4:45)
-
StartGenerators Exercise (2:29)
-
StartGenerators Solution (1:56)
-
StartGeneral Generator Syntax (3:05)
-
StartGenerators As Loops Solution (5:21)
-
StartGame of Life Solution (5:45)
-
StartItertools (5:01)
-
StartFunction Generators (3:56)
-
StartPowers of Two Generator Solution (2:04)
-
StartFiltering (2:33)
-
StartReduce (4:07)
-
StartA Functional Word Exercise (3:35)
-
StartFunctional Word Solution (4:01)
-
StartFunctional Parsing Exercise (1:11)
-
StartFunctional Parsing Solution (3:18)
Files
Available in
days
days
after you enroll
-
StartReading Files (2:25)
-
StartMall Customers Database (4:20)
-
StartEnsuring Files Get Closed (2:35)
-
StartExamining With (6:05)
-
StartIterating Over Files (2:53)
-
StartWriting Files (3:12)
-
StartFiles Exercise Solution (7:03)
-
StartAppending to Files (1:27)
-
StartHandling Binary Text (8:31)
-
StartBinary Files (3:13)
-
StartSerialization (3:05)
-
StartSerializing Integers (5:32)
-
StartDeserializing Integers (3:36)
-
StartSaving and Loading Ints (4:24)
-
StartNumbers Versus Bytes (11:28)
-
StartPython Arrays (7:49)
-
StartSaving Arrays (5:51)
-
StartPickling (3:54)
-
StartJSON (5:05)
-
StartFile Dialogs (8:21)
-
StartGame of Life Menus (4:55)
-
StartGame of Life Load and Save (9:30)
-
StartTesting Game of Life (5:03)
-
StartThe OS Module (6:08)
-
StartWord Count Exercise (3:26)
-
StartSplitting into Words (7:20)
-
StartCounting Words (6:50)
Numpy
Available in
days
days
after you enroll
-
StartNumpy Arrays (6:37)
-
StartCreating Numpy Arrays (11:23)
-
StartNumpy Arithmetic (4:42)
-
StartNumpy Slicing (5:20)
-
Start2D Indexing (5:12)
-
StartViews (4:20)
-
StartAdvanced Indexing (6:12)
-
StartNumpy Matrices (7:17)
-
StartMatrix Multiplication (6:17)
-
StartNumpy Functions (4:24)
-
StartNumpy Exercise (2:50)
-
StartNumpy Solution Part 1 (6:38)
-
StartNumpy Solution Part 2 (5:10)
-
StartTiling (4:42)
-
StartMasks (2:18)
-
StartCombining Boolean Arrays (3:42)
-
StartFiltering Numpy Arrays (3:41)
-
StartVariance and Standard Deviation (5:42)
-
StartVariance Exercise (6:11)
-
StartBessel's Correction (8:02)
-
StartScaling and Variance (7:50)
-
StartLoading CSV in Numpy (1:52)
Graphs and Plotting
Available in
days
days
after you enroll
-
StartPyplot Basics (3:09)
-
StartStyles (5:00)
-
StartConfiguration (3:31)
-
StartMore Configuration (6:22)
-
StartWord Lengths Exercise (1:35)
-
StartWord Length Plot Solution Part 1 (9:24)
-
StartWord Length Solution Part 2 (6:54)
-
StartBar Charts (5:49)
-
StartPie Charts (6:22)
-
StartPie Chart Solution (5:51)
-
StartScatter Plots (10:08)
-
StartHistograms (6:22)
-
StartMultiple Graphs on One Chart (4:51)
-
StartSubplots (6:50)
-
StartSubplots Solution (6:26)
-
Start3D Plots (6:02)
Pandas
Available in
days
days
after you enroll
-
StartIntroduction (6:08)
-
StartReferencing Cells (3:58)
-
StartLoc and iloc (7:34)
-
StartChanging Values (5:44)
-
StartPandas Functions (7:34)
-
StartSeries (4:36)
-
StartPandas Charts (3:09)
-
StartSorting (6:11)
-
StartCorrelations (6:02)
-
StartGrouping (6:52)
-
StartGrouped Types (5:09)
-
StartGroup Aggregate Functions (4:18)
-
StartFiltering (4:25)
-
StartMultiple Groups (3:39)
-
StartPlotting Groups (8:15)
-
StartBinning (8:13)
-
StartGroupby Exercise (0:40)
-
StartGroupby Exercise Solution Part 1 (5:43)
-
StartGroupby Exercise Solution Part 2 (7:15)
-
StartZipfs Law Exercise (8:38)
-
StartZipfs Law Solution (5:11)
Regression
Available in
days
days
after you enroll
-
StartLinear Regression Data (5:20)
-
StartIntroduction (4:35)
-
StartConfiguring Labels (6:19)
-
StartEquation of a Line (7:01)
-
StartLinear Regression (7:36)
-
StartWhy Add Constant (5:45)
-
StartR Squared (5:19)
-
StartCalculating R Squared (7:53)
-
StartTrain Test (7:39)
-
StartPredictions With Linear Regression (8:31)
-
StartLinear Regression Exercise (2:52)
-
StartCategorical Columns and Correlations (2:20)
-
StartPlotting Grapes Solution (3:25)
-
StartPredicting Grape Weights (6:43)
-
StartRemoving Outliers (6:56)
-
StartMultiple Linear Regression (5:05)
-
StartA Multiple Linear Regression Model (7:03)
-
StartAbout Polynomial Regression (6:20)
-
StartPolynomial Features (7:32)
-
StartA Surprising Result (6:55)
-
StartA Polynomial Regression Model (9:02)
-
StartLoading Emails (7:29)
-
StartBinomial Logistic Regression and Causation (7:27)
-
StartCategorical Dummies (5:39)
-
StartThe Logistic Equation (7:03)
-
StartLogistic Regression Model (6:32)
-
StartMultiple Logistic Regression (6:21)
-
StartGetting Predictions with Logistic Regression (3:23)
-
StartConfusion Matrices (6:40)
-
StartScaling and Normalisation (8:38)
-
StartNormalising Split Data (7:15)
-
StartUsing Standard Scaler (8:47)
-
StartConfusion Matrix Exercise (4:04)
-
StartConfusion Matrix Solution Part 1 (7:27)
-
StartConfusion Matrix Solution Part 2 (7:10)
Clustering
Available in
days
days
after you enroll
-
StartClustering (5:34)
-
StartK-Means Clustering (8:17)
-
StartCentroids and Inertia (4:31)
-
StartThe Elbow Method (7:35)
-
StartK-Means Exercise Solution (5:48)
-
StartExercise Analysis (4:46)
-
StartThe Iris Flower Data Set (4:09)
-
StartLoading the Iris Data (4:33)
-
StartSeaborn Plots (5:14)
-
StartK-Means Iris Exercise (2:15)
-
StartK-Means Iris Solution (12:07)
-
StartPermutations Exercise (4:52)
-
StartPermutations Solution (7:07)
-
StartNormalized Mutual Information (4:26)
-
StartDendrograms (7:37)
-
StartThe Linkage Table (9:23)
-
StartClustering Iris Data (8:22)
-
StartScikit-Learn Agglomerative Clustering (7:25)
-
StartLinkage and Affinity (7:28)
-
StartFit Predict Transform (6:49)
-
StartNearest Neighbours (5:26)
-
StartSpherically Symmetric Data (9:40)
-
StartDBSCAN (5:47)
-
StartDetermining Epsilon (9:19)
-
StartUsing DBSCAN (6:41)
-
StartDBSCAN Moons Exercise (6:44)
-
StartDBSCAN Moons Solution (7:54)
-
StartSilhouette Scores (4:43)
-
StartNearest Neighbors Classification (2:08)
-
StartUsing K-Neighbors Classifier (9:24)
Naive Bayes
Available in
days
days
after you enroll
-
StartBayes' Theorem (13:15)
-
StartNaive Bayes (6:07)
-
StartApplying Naive Bayes to Classification (6:12)
-
StartAn Email Dataset (1:20)
-
StartCounting Words (3:29)
-
StartListing Common Words (7:02)
-
StartThe Predictor Matrix (4:01)
-
StartNaive Bayes Classifiers (9:03)
-
StartNaive Bayes Exercise (4:17)
-
StartNaive Bayes Solution (6:39)
-
StartClassifying Irises (6:21)
Decision Trees
Available in
days
days
after you enroll
Principal Component Analysis
Available in
days
days
after you enroll
-
StartIntroduction (4:57)
-
StartData for PCA (7:18)
-
StartHow PCA Works (9:34)
-
StartTransforming Data With PCA (8:37)
-
StartExplained Variance Ratios (9:04)
-
StartIris Data PCA Analysis (8:09)
-
StartPCA Components (5:03)
-
StartClassifying Irises With PCA (9:05)
-
StartPCA Tips (6:59)
-
StartPCA Exercise (3:36)
-
StartPCA Solution (13:42)
-
StartThe MNIST Dataset (4:23)
-
StartFetching from Openml (6:26)
-
StartLoading MNIST With Keras (6:33)
-
StartCharacter Recognition (9:47)
-
StartConfiguring Logistic Regression (8:37)
-
StartDisplaying Images (7:04)
Artificial Neural Networks (ANNs)
Available in
days
days
after you enroll
-
StartAn Artificial Neuron (5:42)
-
StartActivation Functions (5:31)
-
StartMinimizing Loss (8:22)
-
StartPreparing Iris Data (8:30)
-
StartA Basic ANN (10:27)
-
StartDropout and Tweaking the Network (5:23)
-
StartMNIST Exercise (4:21)
-
StartMNIST Preparing the Data (4:38)
-
StartMNIST ANN (9:34)
-
StartImproving the MNIST ANN (4:57)
-
StartComparing Subarrays (5:43)
-
StartDisplaying Misclassified Images (6:18)
-
StartSaving and Loading (3:29)
-
StartPipelines (6:23)
-
StartStandalone Classifier (4:09)
-
StartCalifornia Housing Dataset (4:08)
-
StartRegression Neural Net (8:54)
-
StartImproving Regression (3:30)
-
StartAnalysing Results (7:33)
-
StartDetecting Overfitting (8:51)
Conclusion
Available in
days
days
after you enroll
Frequently Asked Questions
When does the course start and finish?
The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.
off original price!
The coupon code you entered is expired or invalid, but the course is still available!