Deep Learning Prerequisites: The Numpy Stack in Python (V2+)

Deep Learning Prerequisites: The Numpy Stack in Python (V2+)

English | 2016 | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 6 Hours | 1.72 MB

The Numpy, Scipy, Pandas, and Matplotlib stack: prep for deep learning, machine learning, and artificial intelligence

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, 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 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.


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.

All the code for this course can be downloaded from my github: /lazyprogrammer/machine_learning_examples

In the directory: numpy_class

Make sure you always “git pull” so you have the latest version!

+ Table of Contents

Welcome and Logistics
1 Introduction and Outline
2 Extra Resources

Numpy (New)
3 Numpy Section Introduction
4 Arrays vs Lists
5 Dot Product
6 Speed Test
7 Matrices
8 Solving Linear Systems
9 Generating Data
10 Numpy Exercise
11 Where to Learn More Numpy
12 Suggestion Box

Matplotlib (New)
13 Matplotlib Section Introduction
14 Line Chart
15 Scatterplot
16 Histogram
17 Plotting Images
18 Matplotlib Exercise
19 Where to Learn More Matplotlib

Pandas (New)
20 Pandas Section Introduction
21 Loading in Data
22 Selecting Rows and Columns
23 The apply() Function
24 Plotting with Pandas
25 Pandas Exercise
26 Where to Learn More Pandas

Scipy (New)
27 Scipy Section Introduction
28 PDF and CDF
29 Convolution
30 Scipy Exercise
31 Where to Learn More Scipy

Bonus Exercises
32 More Exercises

Machine Learning Basics
33 Machine Learning Section Introduction
34 What is Classification
35 Classification in Code
36 What is Regression
37 Regression in Code
38 What is a Feature Vector
39 Machine Learning is Nothing but Geometry
40 All Data is the Same
41 Comparing Different Machine Learning Models
42 Machine Learning and Deep Learning Future Topics
43 Machine Learning Section Summary

Setting Up Your Environment (FAQ by Student Request)
44 Windows-Focused Environment Setup 2018
45 How to install Numpy, Scipy, Matplotlib, Pandas, IPython, Theano, and TensorFlow

Extra Help With Python Coding for Beginners (FAQ by Student Request)
46 Python 2 vs Python 3
47 Proof that using Jupyter Notebook is the same as not using it

Effective Learning Strategies for Machine Learning (FAQ by Student Request)
48 Machine Learning and AI Prerequisite Roadmap (pt 1)
49 Machine Learning and AI Prerequisite Roadmap (pt 2)

Appendix FAQ Finale
50 BONUS Where to get Udemy coupons and FREE deep learning material