Recommender Systems and Deep Learning in Python

The most in-depth course on recommendation systems with deep learning, machine learning, data science, and AI techniques

Register for this Course

$29.99 $199.99 USD 85% OFF!

Login or signup to register for this course

Have a coupon? Click here.

Course Data

Lectures: 97
Length: 13h 16m
Skill Level: All Levels
Languages: English
Includes: Lifetime access, certificate of completion (shareable on LinkedIn, Facebook, and Twitter), Q&A forum

Course Description

Believe it or not, almost all online businesses today make use of recommender systems in some way or another.

What do I mean by “recommender systems”, and why are they useful?

Let’s look at the top 3 websites on the Internet, according to Alexa: Google, YouTube, and Facebook.

Recommender systems form the very foundation of these technologies.

Google: Search results

They are why Google is the most successful technology company today.

YouTube: Video dashboard

I’m sure I’m not the only one who’s accidentally spent hours on YouTube when I had more important things to do! Just how do they convince you to do that?

That’s right. Recommender systems!

Facebook: So powerful that world governments are worried that the newsfeed has too much influence on people! (Or maybe they are worried about losing their own power... hmm...)


This course is a big bag of tricks that make recommender systems work across multiple platforms.

We’ll look at popular news feed algorithms, like Reddit, Hacker News, and Google PageRank.

We’ll look at Bayesian recommendation techniques that are being used by a large number of media companies today.

But this course isn’t just about news feeds.

Companies like Amazon, Netflix, and Spotify have been using recommendations to suggest products, movies, and music to customers for many years now.

These algorithms have led to billions of dollars in added revenue.

So I assure you, what you’re about to learn in this course is very real, very applicable, and will have a huge impact on your business.

For those of you who like to dig deep into the theory to understand how things really work, you know this is my specialty and there will be no shortage of that in this course. We’ll be covering state of the art algorithms like matrix factorization and deep learning (making use of both supervised and unsupervised learning - Autoencoders and Restricted Boltzmann Machines), and you’ll learn a bag full of tricks to improve upon baseline results.

As a bonus, we will also look how to perform matrix factorization using big data in Spark. We will create a cluster using Amazon EC2 instances with Amazon Web Services (AWS). Most other courses and tutorials look at the MovieLens 100k dataset - that is puny! Our examples make use of MovieLens 20 million.

Whether you sell products in your e-commerce store, or you simply write a blog - you can use these techniques to show the right recommendations to your users at the right time.

If you’re an employee at a company, you can use these techniques to impress your manager and get a raise!

I’ll see you in class!


This course is not "officially" part of my deep learning series. It contains a strong deep learning component, but there are many concepts in the course that are totally unrelated to deep learning.

Suggested Prerequisites:
  • For earlier sections, just know some basic arithmetic
  • For advanced sections, know calculus, linear algebra, and probability for a deeper understanding
  • Be proficient in Python and the Numpy stack (see my free course)
  • For the deep learning section, know the basics of using Keras

Tips for success:

  • Use the video speed changer! Personally, I like to watch 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!
  • Don't get discouraged if you can't solve every exercise right away. Sometimes it'll take hours, days, or maybe weeks!
  • Write code yourself, this is an applied course! Don't be a "couch potato".

Testimonials and Success Stories

I am one of your students. Yesterday, I presented my paper at ICCV 2019. You have a significant part in this, so I want to sincerely thank you for your in-depth guidance to the puzzle of deep learning. Please keep making awesome courses that teach us!

I just watched your short video on “Predicting Stock Prices with LSTMs: One Mistake Everyone Makes.” Giggled with delight.

You probably already know this, but some of us really and truly appreciate you. BTW, I spent a reasonable amount of time making a learning roadmap based on your courses and have started the journey.

Looking forward to your new stuff.

Thank you for doing this! I wish everyone who call’s themselves a Data Scientist would take the time to do this either as a refresher or learn the material. I have had to work with so many people in prior roles that wanted to jump right into machine learning on my teams and didn’t even understand the first thing about the basics you have in here!!

I am signing up so that I have the easy refresh when needed and the see what you consider important, as well as to support your great work, thank you.

Thank you, I think you have opened my eyes. I was using API to implement Deep learning algorithms and each time I felt I was messing out on some things. So thank you very much.

I have been intending to send you an email expressing my gratitude for the work that you have done to create all of these data science courses in Machine Learning and Artificial Intelligence. I have been looking long and hard for courses that have mathematical rigor relative to the application of the ML & AI algorithms as opposed to just exhibit some 'canned routine' and then viola here is your neural network or logistical regression. ...


I have now taken a few classes from some well-known AI profs at Stanford (Andrew Ng, Christopher Manning, …) with an overall average mark in the mid-90s. Just so you know, you are as good as any of them. But I hope that you already know that.

I wish you a happy and safe holiday season. I am glad you chose to share your knowledge with the rest of us.

Hi Sir I am a student from India. I've been wanting to write a note to thank you for the courses that you've made because they have changed my career. I wanted to work in the field of data science but I was not having proper guidance but then I stumbled upon your "Logistic Regression" course in March and since then, there's been no looking back. I learned ANNs, CNNs, RNNs, Tensorflow, NLP and whatnot by going through your lectures. The knowledge that I gained enabled me to get a job as a Business Technology Analyst at one of my dream firms even in the midst of this pandemic. For that, I shall always be grateful to you. Please keep making more courses with the level of detail that you do in low-level libraries like Theano.

I just wanted to reach out and thank you for your most excellent course that I am nearing finishing.

And, I couldn't agree more with some of your "rants", and found myself nodding vigorously!

You are an excellent teacher, and a rare breed.

And, your courses are frankly, more digestible and teach a student far more than some of the top-tier courses from ivy leagues I have taken in the past.

(I plan to go through many more courses, one by one!)

I know you must be deluged with complaints in spite of the best content around That's just human nature.

Also, satisfied people rarely take the time to write, so I thought I will write in for a change. :)

Hello, Lazy Programmer!

In the process of completing my Master’s at Hunan University, China, I am writing this feedback to you in order to express my deep gratitude for all the knowledge and skills I have obtained studying your courses and following your recommendations.

The first course of yours I took was on Convolutional Neural Networks (“Deep Learning p.5”, as far as I remember). Answering one of my questions on the Q&A board, you suggested I should start from the beginning – the Linear and Logistic Regression courses. Despite that I assumed I had already known many basic things at that time, I overcame my “pride” and decided to start my journey in Deep Learning from scratch. ...


By the way, if you are interested to hear. I used the HMM classification, as it was in your course (95% of the script, I had little adjustments there), for the Customer-Care department in a big known fintech company. to predict who will call them, so they can call him before the rush hours, and improve the service. Instead of a poem, I Had a sequence of the last 24 hours' events that the customer had, like: "Loaded money", "Usage in the food service", "Entering the app", "Trying to change the password", etc... the label was called or didn't call. The outcome was great. They use it for their VIP customers. Our data science department and I got a lot of praise.



3 Lectures · 13min
  1. Introduction (03:10) (FREE preview available)
  2. Outline of the course (04:45)
  3. Where to get the code (05:06)

Simple Recommendation Systems

15 Lectures · 01hr 58min
  1. Section Introduction and Outline (04:20)
  2. Perspective for this Section (03:42)
  3. Basic Intuitions (05:15)
  4. Associations (04:44)
  5. Hacker News - Will you be penalized for talking about the NSA? (07:29)
  6. Reddit - Should censorship based on politics be allowed? (08:55)
  7. Problems with Average Rating & Explore vs. Exploit (part 1) (10:59)
  8. Problems with Average Rating & Explore vs. Exploit (part 2) (07:40)
  9. Bayesian Ranking (Beginner Version) (22:35)
  10. Demographics and Supervised Learning (07:23)
  11. PageRank (part 1) (11:13)
  12. PageRank (part 2) (11:56)
  13. Evaluating a Ranking (04:40)
  14. Section Conclusion (04:11)
  15. Suggestion Box (03:10)

Collaborative Filtering

8 Lectures · 01hr 29min
  1. Collaborative Filtering Section Introduction (11:39)
  2. User-User Collaborative Filtering (13:52)
  3. Collaborative Filtering Exercise Prep (10:21)
  4. Data Preprocessing (15:27)
  5. User-User Collaborative Filtering in Code (16:07)
  6. Item-Item Collaborative Filtering (09:16)
  7. Item-Item Collaborative Filtering in Code (07:08)
  8. Collaborative Filtering Section Conclusion (05:35)

Beginner Q&A

3 Lectures · 14min
  1. How do I Choose Which Model to Use? (04:03)
  2. How do I Solve the Cold-Start Problem? (04:30)
  3. What if I Don't Like Math or Programming? (05:48)

Matrix Factorization and Deep Learning

20 Lectures · 02hr 17min
  1. Matrix Factorization Section Introduction (04:09)
  2. Matrix Factorization - First Steps (15:28)
  3. Matrix Factorization - Training (08:57)
  4. Matrix Factorization - Expanding Our Model (08:05)
  5. Matrix Factorization - Regularization (06:19)
  6. Matrix Factorization - Exercise Prompt (01:16)
  7. Matrix Factorization in Code (06:18)
  8. Matrix Factorization in Code - Vectorized (10:15)
  9. Updating Matrix Factorization Model for New Users (11:12)
  10. SVD (Singular Value Decomposition) (07:49)
  11. Probabilistic Matrix Factorization (06:07)
  12. Bayesian Matrix Factorization (05:35)
  13. Matrix Factorization in Keras (Discussion) (07:33)
  14. Matrix Factorization in Keras (Code) (07:15)
  15. Deep Neural Network (Discussion) (02:52)
  16. Deep Neural Network (Code) (02:44)
  17. Residual Learning (Discussion) (02:04)
  18. Residual Learning (Code) (02:00)
  19. Autoencoders (AutoRec) Discussion (10:15)
  20. Autoencoders (AutoRec) Code (11:46)

Restricted Boltzmann Machines (RBMs) for Collaborative Filtering

13 Lectures · 01hr 36min
  1. RBMs for Collaborative Filtering Section Introduction (02:09)
  2. Intro to RBMs (08:22)
  3. Motivation Behind RBMs (06:52)
  4. Intractability (03:12)
  5. Neural Network Equations (07:44)
  6. Training an RBM (part 1) (11:35)
  7. Training an RBM (part 2) (06:19)
  8. Training an RBM (part 3) - Free Energy (07:21)
  9. Categorical RBM for Recommender System Ratings (11:32)
  10. RBM Code pt 1 (07:27)
  11. RBM Code pt 2 (04:17)
  12. RBM Code pt 3 (11:43)
  13. Speeding up the RBM Code (07:54)

Big Data Matrix Factorization with Spark Cluster on AWS / EC2

6 Lectures · 47min
  1. Big Data and Spark Section Introduction (07:16)
  2. Setting up Spark in your Local Environment (07:37)
  3. Matrix Factorization in Spark (10:29)
  4. Spark Submit (06:27)
  5. Setting up a Spark Cluster on AWS / EC2 (12:39)
  6. Making Predictions in the Real World (02:47)

VIP Section for Recommender Systems

1 Lectures · 04min
  1. VIP: Making Predictions with a Trained Recommender Model (04:25)

Bonus: TF-IDF

2 Lectures · 19min
  1. TF-IDF Theory (09:56)
  2. TF-IDF Code (09:18)

Basics Review

8 Lectures · 52min
  1. Keras Discussion (06:49)
  2. Keras Neural Network in Code (06:38)
  3. Keras Functional API (04:27)
  4. How to easily convert Keras into Tensorflow 2.0 code (01:49)
  5. TensorFlow Basics: Variables, Functions, Expressions, Optimization (07:27)
  6. Building a neural network in TensorFlow (09:43)
  7. Confidence Intervals (10:18)
  8. Gaussian Conjugate Prior (05:42)

Bayesian Ranking (Scary Version)

5 Lectures · 49min
  1. Bayesian Approach part 0 (Preparation) (12:08)
  2. Bayesian Approach part 1 (Optional) (11:08)
  3. Bayesian Approach part 2 (Sampling and Ranking) (05:58)
  4. Bayesian Approach part 3 (Gaussian) (08:24)
  5. Bayesian Approach part 4 (Code) (12:02)

Setting Up Your Environment (Appendix/FAQ by Student Request)

3 Lectures · 42min
  1. Pre-Installation Check (04:13)
  2. Anaconda Environment Setup (20:21)
  3. How to install Numpy, Scipy, Matplotlib, Pandas, IPython, Theano, and TensorFlow (17:33)

Extra Help With Python Coding for Beginners (Appendix/FAQ by Student Request)

4 Lectures · 42min
  1. How to Code Yourself (part 1) (15:55)
  2. How to Code Yourself (part 2) (09:24)
  3. Proof that using Jupyter Notebook is the same as not using it (12:29)
  4. Python 2 vs Python 3 (04:38)

Effective Learning Strategies for Machine Learning (Appendix/FAQ by Student Request)

4 Lectures · 59min
  1. How to Succeed in this Course (Long Version) (10:25)
  2. Is this for Beginners or Experts? Academic or Practical? Fast or slow-paced? (22:05)
  3. What order should I take your courses in? (part 1) (11:19)
  4. What order should I take your courses in? (part 2) (16:07)

Appendix / FAQ Finale

2 Lectures · 08min
  1. What is the Appendix? (02:48)
  2. Where to get discount coupons and FREE deep learning material (05:49)


  • VIP: Making Predictions with a Trained Recommender Model Notebook
This website is using cookies. That's Fine