Deep Learning Prerequisites: The Numpy Stack In Python (V2+)
Last updated 11/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 2.27 GB | Duration: 6h 8m
Last updated 11/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 2.27 GB | Duration: 6h 8m
The Numpy, Scipy, Pandas, and Matplotlib stack: prep for deep learning, machine learning, and artificial intelligence
What you'll learn
Understand supervised machine learning (classification and regression) with real-world examples using Scikit-Learn
Understand and code using the Numpy stack
Make use of Numpy, Scipy, Matplotlib, and Pandas to implement numerical algorithms
Understand the pros and cons of various machine learning models, including Deep Learning, Decision Trees, Random Forest, Linear Regression, Boosting, and More!
Requirements
Understand linear algebra and the Gaussian distribution
Be comfortable with coding in Python
You should already know "why" things like a dot product, matrix inversion, and Gaussian probability distributions are useful and what they can be used for
Description
Welcome! This is Deep Learning, Machine Learning, and Data Science Prerequisites: The Numpy Stack in Python.One question or concern I get a lot is that people want to learn deep learning and data science, so they take these courses, but they get left behind because they don’t know enough about the Numpy stack in order to turn those concepts into code.Even if I write the code in full, if you don’t know Numpy, then it’s still very hard to read.This course is designed to remove that obstacle - to show you how to do things in the Numpy stack that are frequently needed in deep learning and data science.So what are those things?Numpy. This forms the basis for everything else. The central object in Numpy is the Numpy array, on which you can do various operations.The key is that a Numpy array isn’t just a regular array you’d see in a language like Java or C++, but instead is like a mathematical object like a vector or a matrix.That means you can do vector and matrix operations like addition, subtraction, and multiplication.The most important aspect of Numpy arrays is that they are optimized for speed. So we’re going to do a demo where I prove to you that using a Numpy vectorized operation is faster than using a Python list.Then we’ll look at some more complicated matrix operations, like products, inverses, determinants, and solving linear systems.Pandas. Pandas is great because it does a lot of things under the hood, which makes your life easier because you then don’t need to code those things manually.Pandas makes working with datasets a lot like R, if you’re familiar with R.The central object in R and Pandas is the DataFrame.We’ll look at how much easier it is to load a dataset using Pandas vs. trying to do it manually.Then we’ll look at some dataframe operations useful in machine learning, like filtering by column, filtering by row, and the apply function.Pandas dataframes will remind you of SQL tables, so if you have an SQL background and you like working with tables then Pandas will be a great next thing to learn about.Since Pandas teaches us how to load data, the next step will be looking at the data. For that we will use Matplotlib.In this section we’ll go over some common plots, namely the line chart, scatter plot, and histogram.We’ll also look at how to show images using Matplotlib.99% of the time, you’ll be using some form of the above plots.Scipy.I like to think of Scipy as an addon library to Numpy.Whereas Numpy provides basic building blocks, like vectors, matrices, and operations on them, Scipy uses those general building blocks to do specific things.For example, Scipy can do many common statistics calculations, including getting the PDF value, the CDF value, sampling from a distribution, and statistical testing.It has signal processing tools so it can do things like convolution and the Fourier transform.In sum:If you’ve taken a deep learning or machine learning course, and you understand the theory, and you can see the code, but you can’t make the connection between how to turn those algorithms into actual running code, this course is for you."If you can't implement it, you don't understand it"Or as the great physicist Richard Feynman said: "What I cannot create, I do not understand".My courses are the ONLY courses where you will learn how to implement machine learning algorithms from scratchOther courses will teach you how to plug in your data into a library, but do you really need help with 3 lines of code?After doing the same thing with 10 datasets, you realize you didn't learn 10 things. You learned 1 thing, and just repeated the same 3 lines of code 10 times…Suggested Prerequisites:matrix arithmeticprobabilityPython coding: if/else, loops, lists, dicts, setsyou should already know "why" things like a dot product, matrix inversion, and Gaussian probability distributions are useful and what they can be used forWHAT ORDER SHOULD I TAKE YOUR COURSES IN?:Check out the lecture "Machine Learning and AI Prerequisite Roadmap" (available in the FAQ of any of my courses)
Overview
Section 1: Welcome and Logistics
Lecture 1 Introduction and Outline
Lecture 2 Extra Resources
Section 2: Numpy (New)
Lecture 3 Numpy Section Introduction
Lecture 4 Arrays vs Lists
Lecture 5 Dot Product
Lecture 6 Speed Test
Lecture 7 Matrices
Lecture 8 Solving Linear Systems
Lecture 9 Generating Data
Lecture 10 Numpy Exercise
Lecture 11 Where to Learn More Numpy
Lecture 12 Suggestion Box
Section 3: Matplotlib (New)
Lecture 13 Matplotlib Section Introduction
Lecture 14 Line Chart
Lecture 15 Scatterplot
Lecture 16 Histogram
Lecture 17 Plotting Images
Lecture 18 Matplotlib Exercise
Lecture 19 Where to Learn More Matplotlib
Section 4: Pandas (New)
Lecture 20 Pandas Section Introduction
Lecture 21 Loading in Data
Lecture 22 Selecting Rows and Columns
Lecture 23 The apply() Function
Lecture 24 Plotting with Pandas
Lecture 25 Pandas Exercise
Lecture 26 Where to Learn More Pandas
Section 5: Scipy (New)
Lecture 27 Scipy Section Introduction
Lecture 28 PDF and CDF
Lecture 29 Convolution
Lecture 30 Scipy Exercise
Lecture 31 Where to Learn More Scipy
Section 6: Bonus Exercises
Lecture 32 More Exercises
Section 7: Beginner Troubleshooting
Lecture 33 What if I don't meet the math prerequisites?
Section 8: Machine Learning Basics
Lecture 34 Machine Learning: Section Introduction
Lecture 35 What is Classification?
Lecture 36 Classification in Code
Lecture 37 What is Regression?
Lecture 38 Regression in Code
Lecture 39 What is a Feature Vector
Lecture 40 Machine Learning is Nothing but Geometry
Lecture 41 All Data is the Same
Lecture 42 Comparing Different Machine Learning Models
Lecture 43 Machine Learning and Deep Learning: Future Topics
Lecture 44 Machine Learning Section Summary
Section 9: Setting Up Your Environment (FAQ by Student Request)
Lecture 45 Anaconda Environment Setup
Lecture 46 How to install Numpy, Scipy, Matplotlib, Pandas, IPython, Theano, and TensorFlow
Section 10: Extra Help With Python Coding for Beginners (FAQ by Student Request)
Lecture 47 Python 2 vs Python 3
Lecture 48 Proof that using Jupyter Notebook is the same as not using it
Section 11: Effective Learning Strategies for Machine Learning (FAQ by Student Request)
Lecture 49 Machine Learning and AI Prerequisite Roadmap (pt 1)
Lecture 50 Machine Learning and AI Prerequisite Roadmap (pt 2)
Section 12: Appendix / FAQ Finale
Lecture 51 BONUS
Students and professionals with little Numpy experience who plan to learn deep learning and machine learning later,Students and professionals who have tried machine learning and data science but are having trouble putting the ideas down in code