4.61 out of 5
2225 reviews on Udemy

Deep Learning Prerequisites: Logistic Regression in Python

Data science techniques for professionals and students - learn the theory behind logistic regression and code in Python
Lazy Programmer Inc.
19,287 students enrolled
English [Auto-generated] More
program logistic regression from scratch in Python
describe how logistic regression is useful in data science
derive the error and update rule for logistic regression
understand how logistic regression works as an analogy for the biological neuron
use logistic regression to solve real-world business problems like predicting user actions from e-commerce data and facial expression recognition
understand why regularization is used in machine learning

This course is a lead-in to deep learning and neural networks – it covers a popular and fundamental technique used in machine learning, data science and statistics: logistic 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 logistic regression module in Python.

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

This course provides you with many practical examples so that you can really see how deep learning can be used on anything. Throughout the course, we’ll do a course project, which will show you how to predict user actions on a website given user data like whether or not that user is on a mobile device, the number of products they viewed, how long they stayed on your site, whether or not they are a returning visitor, and what time of day they visited.

Another project at the end of the course shows you how you can use deep learning for facial expression recognition. Imagine being able to predict someone’s emotions just based on a picture!

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 use your skills to make data-driven decisions and optimize your business using scientific principles, then this course is for you.

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.


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


  • Check out the lecture “What order should I take your courses in?” (available in the Appendix of any of my courses, including the free Numpy course)

Start Here

Introduction and Outline

This lecture will outline what will be learned in the course. I explain the importance of knowing the math, and provide short descriptions of each section later covered. Feel free to skip it and jump right into the 3rd video.

How to Succeed in this Course
Review of the classification problem

Difference between supervised and unsupervised learning. Difference between classification and regression. Feel free to skip this one if you already know this.

Introduction to the E-Commerce Course Project
Easy first quiz

An easy first quiz

Basics: What is linear classification? What's the relation to neural networks?

Linear Classification

I discuss what linear classification is from a general standpoint, without invoking any specifics related to logistic regression. I provide a 2-dimensional binary classification example and go over how we would classify data into 1 of 3 cases: positive class, negative class, and don't know / not sure.

Biological inspiration - the neuron

In this lecture I discuss a brief history of neural networks, and talk about how the characteristics of the neuron (action potential, signal propagation, inhibitory and excitatory behavior) are modeled in different ways: the Hodgkin Huxley mdoel, the FitzHugh Nagumo model, and the logistic model.

How do we calculate the output of a neuron / logistic classifier? - Theory

I show the feedforward calculation for the output of a logistic unit.

How do we calculate the output of a neuron / logistic classifier? - Code

I show how to code the feedforward calculation for the output of a logistic unit in Python and numpy.

Interpretation of Logistic Regression Output
E-Commerce Course Project: Pre-Processing the Data
E-Commerce Course Project: Making Predictions
Feedforward Quiz
Prediction Section Summary

Solving for the optimal weights

Training Section Introduction
A closed-form solution to the Bayes classifier

I show how we can solve for the weights in a logistic regression model if we make assumptions about the distributions of the input data (equal variance, Gaussian-distributed).

What do all these symbols mean? X, Y, N, D, L, J, P(Y=1|X), etc.

All these symbols can get confusing so this is a lecture to give a short and simple description of what each letter "stands for". These are important to get right now, because we'll use it for this course and every later course on deep learning and machine learning.

The cross-entropy error function - Theory

I show the cross-entropy error formula, and describe why this is used as an appropriate objective function for logistic regression.

The cross-entropy error function - Code

I show how to calculate the cross-entropy error of your model in Python and numpy.

Visualizing the linear discriminant / Bayes classifier / Gaussian clouds
Maximizing the likelihood

I show how to derive the likelihood and log-likelihood of your model and data, and I show how maximizing the likelihood is equivalent to minimizing the cross-entropy.

Updating the weights using gradient descent - Theory

I explain how gradient descent can be used to solve for the minima of a function, and the algorithm that can be used to iteratively update the logistic weights.

Updating the weights using gradient descent - Code

I show how to code weight updates for logistic regression using gradient descent in Python and numpy.

E-Commerce Course Project: Training the Logistic Model
Training Section Summary

Practical concerns

Practical Section Introduction
Interpreting the Weights
L2 Regularization - Theory
L2 Regularization - Code

I show how to apply regularization for logistic regression in Python.

L1 Regularization - Theory
L1 Regularization - Code
L1 vs L2 Regularization
The donut problem

I show how logistic regression can be used to solve the donut problem (where one class is circular and is inside another circular class).

The XOR problem

This lecture describes how to apply logistic regression to the XOR problem by making it a 3-dimensional problem.

Practical Section Summary

Checkpoint and applications: How to make sure you know your stuff

BONUS: Sentiment Analysis

This is a clip from my natural language processing course. It shows you how to apply logistic regression to sentiment analysis - measuring how positive or negative a word is.

BONUS: Where to get Udemy coupons and FREE deep learning material
BONUS: Exercises + how to get good at this

Project: Facial Expression Recognition

Facial Expression Recognition Project Introduction
Facial Expression Recognition Problem Description
The class imbalance problem
Utilities walkthrough
Facial Expression Recognition in Code
Facial Expression Recognition Project Summary


What is the Appendix?
Gradient Descent Tutorial
Windows-Focused Environment Setup 2018
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)
How to Uncompress a .tar.gz file
How to Succeed in this Course (Long Version)
Is this for Beginners or Experts? Academic or Practical? Fast or slow-paced?
Proof that using Jupyter Notebook is the same as not using it
Python 2 vs Python 3
What order should I take your courses in? (part 1)
What order should I take your courses in? (part 2)
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.6 out of 5
2225 Ratings

Detailed Rating

Stars 5
Stars 4
Stars 3
Stars 2
Stars 1
30-Day Money-Back Guarantee


6 hours on-demand video
Full lifetime access
Access on mobile and TV
Certificate of Completion