Udemy

Python Programming: Build a Recommendation Engine in Django

Enroll Now
  • 222 Students
  • Updated 2/2023
4.4
(16 Ratings)
CTgoodjobs selects quality courses to enhance professionals' competitiveness. By purchasing courses through links on our site, we may receive an affiliate commission.

Course Information

Registration period
Year-round Recruitment
Course Level
Study Mode
Duration
9 Hour(s) 35 Minute(s)
Language
English
Taught by
Justin Mitchel
Rating
4.4
(16 Ratings)
2 views

Course Overview

Python Programming: Build a Recommendation Engine in Django

Collaborative Filtering with Python, Celery, Django, Worker Processes, Batch Predictions, SurpriseML, Keras, and more!

Build a recommendation engine using Django & a Machine Learning technique called Collaborative Filtering.


Users will rate movies and the system will automatically recommend new ones. These recommendations will be done in batches (ie not in real time) to unlock a more scalable system for training and helping thousands and thousands of users.


For this course, we'll use a real dataset called MovieLens; this dataset is downloaded in CSV and is used on all kinds of machine learning tutorials. What's special about this course is you'll load this dataset into a SQL database through a Django model. This alone might be worth watching the course as SQL databases are far more powerful than CSV files.


To do the batch inference we implement the incredibly powerful background worker process called Celery. If you haven't used Celery before, this will be an eye opening experience and when you couple it with Django you have a truly powerful worker process that can run tasks in the background, run tasks on a schedule, or a combination of both. Tasks in Celery are simply Python functions with a special decorator.


For rating movies, we'll be using HTMX. HTMX is a way to dynamically update content *without* reloading the page at all. I am sure you know the experience whenever you click "like" or "subscribe" , that's what HTMX gives us without the overhead of using 1 line of JavaScript. This course shows us a practical implementation of using HTMX not just for rating movies, but also sorting them, loading them, and doing much more.


The recommendation engine in Django is really a collection of 3 parts:

  • Web Process: Setup up Django to collect user's interest and provide recommendations once available.

  • Machine Learning Pipeline: Extract data from Django, transform it, and train a Collaborative Filtering model.

  • Worker Process: This is the glue. We'll use Celery to schedule/run the trained model predictions and update data for Django-related user recommendations.


Recommended Experience

  • Python 3.6+ (such as 30 Days of Python)

  • Django 3.2+ (such as Your First Django Web Project or Try Django 3.2)

  • Celery with Django (such as Time & Tasks 2 or this blog post)


Course Content

  • 10 section(s)
  • 43 lecture(s)
  • Section 1 Introduction
  • Section 2 Handling the Dataset
  • Section 3 Running Calculations with Django
  • Section 4 Python Celery
  • Section 5 Django Views & Auth
  • Section 6 User Ratings
  • Section 7 Dynamic Django with HTMX
  • Section 8 Jupyter Notebooks with Django
  • Section 9 Machine Learning & Collaborative Filtering
  • Section 10 Handling Predictions in Django

What You’ll Learn

  • Learn how to integrate Django & Celery
  • Learn how to use HTMX with Django for Dynamic Loading (no JavaScript Needed)
  • Training a Machine Learning Model with SurpriseML and an example in Keras
  • Build a rating system in Django with dynamic rating buttons. These ratings can be used on any Django Model
  • Learn how to run periodic background task and/or schedule functions to run exactly when needed
  • How to perform batch inference effectively using Django for *any* large workloads and/or ML packages
  • How to load large datasets into a SQL database through Django Models
  • Where to find great datasets online
  • How to implement an "infinite" review page that will always give a new item after rating.
  • So much more!


Reviews

  • P
    Przemysław Pałczyński
    5.0

    You are one of the three best Django programmers from whom I am learning via YouTube. For me, this course is very difficult but very valuable. I will be studying it for a long time. In my opinion, it is not a course for beginners. It's a pity that there isn't an up-to-date guide on how to run it on Windows. I thought I would throw my computer out the window while trying to find a way to get it running on Windows.

  • C
    Charles Bush
    4.5

    Still just getting started, but the amount I've learned already is incredible, very clear and easy to follow along.

  • p
    piermath BOUYA
    1.5

    the project is not updated, does not work

  • P
    PHILIP m NERGES
    2.5

    Well, the course seems great but the software is deprecated and I can't install it on my version of Windows.

Start FollowingSee all

We use cookies to enhance your experience on our website. Please read and confirm your agreement to our Privacy Policy and Terms and Conditions before continue to browse our website.

Read and Agreed