Deep Learning Prerequisites: Linear Regression in Python
4.6 (1,072 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
9,851 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Deep Learning Prerequisites: Linear Regression in Python to your Wishlist.

Add to Wishlist

Deep Learning Prerequisites: Linear Regression in Python

Data science: Learn linear regression from scratch and build your own working program in Python for data analysis.
4.6 (1,072 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
9,851 students enrolled
Last updated 5/2017
Current price: $10 Original price: $120 Discount: 92% off
30-Day Money-Back Guarantee
  • 4 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Derive and solve a linear regression model, and apply it appropriately to data science problems
  • Program your own version of a linear regression model in Python
View Curriculum
  • How to take a derivative using calculus
  • Basic Python programming
  • For the advanced section of the course, you will need to know probability
  • For the advanced section of the course, you will need to know the Gaussian distribution

This course teaches you about one popular technique used in machine learning, data science and statistics: linear regression. We cover the theory from the ground up: derivation of the solution, and applications to real-world problems. We show you how one might code their own linear regression module in Python.

Linear regression is the simplest machine learning model you can learn, yet there is so much depth that you'll be returning to it for years to come. That's why it's a great introductory course if you're interested in taking your first steps in the fields of:

  • deep learning
  • machine learning
  • data science
  • statistics

In the first section, I will show you how to use 1-D linear regression to prove that Moore's Law is true.

What's that you say? Moore's Law is not linear?

You are correct! I will show you how linear regression can still be applied.

In the next section, we will extend 1-D linear regression to any-dimensional linear regression - in other words, how to create a machine learning model that can learn from multiple inputs.

We will apply multi-dimensional linear regression to predicting a patient's systolic blood pressure given their age and weight.

Finally, we will discuss some practical machine learning issues that you want to be mindful of when you perform data analysis, such as generalization, overfitting, train-test splits, and so on.

This course does not require any external materials. Everything needed (Python, and some Python libraries) can be obtained for FREE.

If you are a programmer and you want to enhance your coding abilities by learning about data science, then this course is for you. If you have a technical or mathematical background, and you want to know how to apply your skills as a software engineer or "hacker", this course may be useful.

This course focuses on "how to build and understand", not just "how to use". Anyone can learn to use an API in 15 minutes after reading some documentation. It's not about "remembering facts", it's about "seeing for yourself" via experimentation. It will teach you how to visualize what's happening in the model internally. If you want more than just a superficial look at machine learning models, this course is for you.


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

In the directory: linear_regression_class

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


  • calculus
  • linear algebra
  • probability
  • Python coding: if/else, loops, lists, dicts, sets
  • Numpy coding: matrix and vector operations, loading a CSV file

TIPS (for getting through the course):

  • Watch it at 2x.
  • Take handwritten notes. This will drastically increase your ability to retain the information.
  • Write down the equations. If you don't, I guarantee it will just look like gibberish.
  • Ask lots of questions on the discussion board. The more the better!
  • Realize that most exercises will take you days or weeks to complete.
  • Write code yourself, don't just sit there and look at my code.


  • (The Numpy Stack in Python)
  • Linear Regression in Python
  • Logistic Regression in Python
  • (Supervised Machine Learning in Python)
  • (Bayesian Machine Learning in Python: A/B Testing)
  • Deep Learning in Python
  • Practical Deep Learning in Theano and TensorFlow
  • (Supervised Machine Learning in Python 2: Ensemble Methods)
  • Convolutional Neural Networks in Python
  • (Easy NLP)
  • (Cluster Analysis and Unsupervised Machine Learning)
  • Unsupervised Deep Learning
  • (Hidden Markov Models)
  • Recurrent Neural Networks in Python
  • Artificial Intelligence: Reinforcement Learning in Python
  • Natural Language Processing with Deep Learning in Python

Who is the target audience?
  • People who are interested in data science, machine learning, statistics and artificial intelligence
  • People new to data science who would like an easy introduction to the topic
  • People who wish to advance their career by getting into one of technology's trending fields, data science
  • Self-taught programmers who want to improve their computer science theoretical skills
  • Analytics experts who want to learn the theoretical basis behind one of statistics' most-used algorithms
Curriculum For This Course
37 Lectures
Introduction and Outline
4 Lectures 16:46

We will discuss a broad outline of what machine learning is, and how linear regression fits into the ecosystem of machine learning. We will discuss some examples of linear regression to give you a feel for what it can be used for.

Preview 05:13

What can linear regression be used for?
1 question

How to Succeed in this Course
1-D Linear Regression: Theory and Code
6 Lectures 51:18
Define the model in 1-D, derive the solution (Updated Version)

Define the model in 1-D, derive the solution

Coding the 1-D solution in Python

Determine how good the model is - r-squared

R-squared in code

Demonstrating Moore's Law in Code

1 question
Multiple linear regression and polynomial regression
6 Lectures 49:46
Define the multi-dimensional problem and derive the solution (Updated Version)

Define the multi-dimensional problem and derive the solution

How to solve multiple linear regression using only matrices

Coding the multi-dimensional solution in Python

Polynomial regression - extending linear regression (with Python code)

Predicting Systolic Blood Pressure from Age and Weight

1 question
Practical machine learning issues
15 Lectures 01:05:27
What do all these letters mean?

Interpreting the Weights

Generalization error, train and test sets

Generalization and Overfitting Demonstration in Code

Categorical inputs

One-hot encoding
1 question

Probabilistic Interpretation of Squared Error

L2 Regularization - Theory

L2 Regularization - Code

The Dummy Variable Trap

Gradient Descent Tutorial

Gradient Descent for Linear Regression

Bypass the Dummy Variable Trap with Gradient Descent

L1 Regularization - Theory

L1 Regularization - Code

L1 vs L2 Regularization
Conclusion and Next Steps
2 Lectures 09:08
Brief overview of advanced linear regression and machine learning topics

Exercises, practice, and how to get good at this
4 Lectures 45:09

How to install Numpy, Scipy, Matplotlib, Pandas, IPython, Theano, and TensorFlow

How to Code by Yourself (part 1)

How to Code by Yourself (part 2)
About the Instructor
Lazy Programmer Inc.
4.6 Average rating
11,144 Reviews
59,613 Students
18 Courses
Data scientist and big data engineer

I am a data scientist, big data engineer, and full stack software engineer.

For my masters thesis I worked on brain-computer interfaces using machine learning. These assist non-verbal and non-mobile persons communicate with their family and caregivers.

I have worked in online advertising and digital media as both a data scientist and big data engineer, and built various high-throughput web services around said data. I've created new big data pipelines using Hadoop/Pig/MapReduce. I've created machine learning models to predict click-through rate, news feed recommender systems using linear regression, Bayesian Bandits, and collaborative filtering and validated the results using A/B testing.

I have taught undergraduate and graduate students in data science, statistics, machine learning, algorithms, calculus, computer graphics, and physics for students attending universities such as Columbia University, NYU, Humber College, and The New School. 

Multiple businesses have benefitted from my web programming expertise. I do all the backend (server), frontend (HTML/JS/CSS), and operations/deployment work. Some of the technologies I've used are: Python, Ruby/Rails, PHP, Bootstrap, jQuery (Javascript), Backbone, and Angular. For storage/databases I've used MySQL, Postgres, Redis, MongoDB, and more.