Python Programming: Build a Recommendation Engine in Django
Learn collaborative filtering with Python! Build recommendation systems using Celery, Django, SurpriseML & Keras. Master batch predictions & worker processes.
Course Content
Python Programming: Build a Recommendation Engine in Django is an intermediate-level Udemy course taught by Justin Mitchel. It runs 9h 35m, is taught in English, and includes a certificate of completion. Learners rate it 4.4 out of 5 from 16 reviews, with 222 students enrolled. It is a paid course, first published February 2023.
Learn to build a powerful recommendation engine with Django and machine learning! This course guides you through creating a system that automatically suggests movies to users based on their ratings. We'll leverage collaborative filtering, a popular machine learning technique, to deliver personalized recommendations.
This project focuses on scalability, implementing batch inference using Celery, a robust background worker process. Celery, combined with Django, allows you to run tasks asynchronously, making your recommendation engine capable of handling thousands of users efficiently. You'll gain a deep understanding of how to schedule and manage tasks for background processing.
We'll utilize the widely-used MovieLens dataset, a CSV file perfect for machine learning tutorials. However, the key differentiator of this course is learning to load this data into a SQL database using a Django model. Discover the advantages of SQL databases over CSV files for performance and data management.
Enhance user interaction with HTMX, a revolutionary approach to dynamic web development. HTMX enables you to update content – like rating movies – without full page reloads, providing a smoother user experience with minimal JavaScript. You'll see practical applications of HTMX for rating, sorting, and loading movie data.
The recommendation engine is structured into three key components:
- Web Process (Django): Collects user ratings and serves recommendations when available.
- Machine Learning Pipeline: Extracts, transforms, and trains a collaborative filtering model using the data.
- Worker Process (Celery): Schedules and executes the trained model predictions to update user recommendations.
Prerequisites:
- Python 3.6+ (e.g., "30 Days of Python")
- Django 3.2+ (e.g., "Your First Django Web Project" or "Try Django 3.2")
- Celery with Django (e.g., "Time & Tasks 2" or [this blog post](link to blog post))
Need a web app built? Hire the team behind TutorialSearch.io
We ship fast, production-grade full-stack apps (Next.js, React, edge infra) — the same stack that powers this site.