Deep Learning Prerequisites: The Numpy Stack in Python (V2+)
4.5 (17,866 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
238,045 students enrolled

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

The Numpy, Scipy, Pandas, and Matplotlib stack: prep for deep learning, machine learning, and artificial intelligence
Bestseller
4.5 (17,866 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
238,045 students enrolled
Last updated 6/2020
English
English [Auto-generated]
Current price: $13.99 Original price: $19.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 4 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
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, 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.

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.



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


TIPS (for getting through the course):

  • Watch it at 2x.

  • Take handwritten notes. This will drastically increase your ability to retain the information. This has been proven by research!

  • Ask lots of questions on the discussion board. The more the better!

  • Realize that most exercises will take you days or weeks to complete.


WHAT ORDER SHOULD I TAKE YOUR COURSES IN?:

  • Check out the lecture "What order should I take your courses in?" (available in the Appendix of any of my courses)


Who this 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
Expand all 36 lectures 03:54:33
+ Welcome and Logistics
2 lectures 11:08
What will you learn in this course?
1 question
What level of machine learning is taught in this course?
1 question
How will you practice what you learned in this course?
1 question
Extra Resources
03:27
+ Numpy (New)
9 lectures 01:05:05
Arrays vs Lists
12:40
Dot Product
07:01
Speed Test
02:55
Matrices
14:45
Solving Linear Systems
03:38
Generating Data
14:31
Numpy Exercise
01:05
Suggestion Box
03:02
+ Matplotlib (New)
6 lectures 22:42
Matplotlib Section Introduction
02:39
Line Chart
03:49
Scatterplot
04:30
Histogram
02:25
Plotting Images
07:40
Matplotlib Exercise
01:39
+ Pandas (New)
6 lectures 22:22
Pandas Section Introduction
01:17
Loading in Data
03:52
Selecting Rows and Columns
09:47
The apply() Function
02:31
Plotting with Pandas
02:45
Pandas Exercise
02:10
+ Scipy (New)
4 lectures 10:07
Scipy Section Introduction
01:24
PDF and CDF
03:06
Convolution
04:34
Scipy Exercise
01:03
+ Appendix / FAQ
9 lectures 01:43:09
More Exercises
08:55
Bonus Section on Machine Learning Basics
06:19
Windows-Focused Environment Setup 2018
20:20
How to install Numpy, Scipy, Matplotlib, Pandas, IPython, Theano, and TensorFlow
17:32
Python 2 vs Python 3
04:38
Proof that using Jupyter Notebook is the same as not using it
12:29
What order should I take your courses in? (part 1)
11:18
What order should I take your courses in? (part 2)
16:07