About Course
Deep Learning Prerequisites: The Numpy Stack in Python
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 to turn those concepts into code.
Even if I write the code fully, it’s still tough to read if you don’t know Numpy Stack.
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 Stack 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 many things under the hood, which makes your life easier. After all, you then don’t need to code those things manually.
Pandas make 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 data frame operations, like filtering by column, filtering by row, the apply function, and joins, which look a lot like SQL joins.
So if you have an SQL background and 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.
This section will 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 Stack in Python.
Whereas Numpy provides basic building blocks, like vectors, matrices, and operations, 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 scratch.
 Other courses will teach you how to plug 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 arithmetic
 probability
 Python coding: if/else, loops, lists, dicts, sets
 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
Who this Numpy Stack in Python course is for:
 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
Course Content
Deep Learning Prerequisites: The Numpy Stack in Python Lazy Programmer

What’s this course about? How can you succeed? What should you know first?
00:00 
Machine Learning: Section Introduction
00:00 
Machine Learning: What is Classification?
00:00 
Machine Learning Classification in Code
00:00 
Machine Learning: What is Regression?
00:00 
Machine Learning Regression in Code
00:00 
Machine Learning: What is a Feature Vector?
00:00 
Machine Learning is Nothing but Geometry
00:00 
All Data is the Same (in Machine Learning)
00:00 
Comparing Different Machine Learning Models
00:00 
Machine Learning and Deep Learning: Future Topics
00:00 
Machine Learning Section Conclusion
00:00 
What order should I take your courses in? (part 1)
00:00 
What order should I take your courses in? (part 2)
00:00 
How to install Tensorflow, PyTorch, Keras, Theano, CNTK and more on Windows
00:00 
EnvSetup
00:00 
The Numpy Stack in Python – Lecture 21: Plotting Images
00:00 
Gaussian PDF and CDF
00:00 
Sampling from a General Multivariate Normal
00:00 
Plotting Images
00:00 
Scatterplot
00:00 
Where to get the code (and how to install libraries)
00:00 
Lists vs. Arrays
00:00 
Dot product 1: For loop vs. cosine method vs. dot function
00:00 
Dot product 2: Speed comparison
00:00 
Vectors and Matrices
00:00 
Generating Matrices to Work With
00:00 
Matrix Products
00:00 
More Matrix Operations
00:00 
Solving a Linear System
00:00 
Word Problem
00:00 
Manual Data Loading
00:00 
DataFrames
00:00 
More about DataFrames: Selecting Rows and Columns
00:00 
Even More about DataFrames: Column Names
00:00 
The apply() Function
00:00 
Joins
00:00 
Line Chart
00:00 
Where to get discount coupons and FREE deep learning material
00:00