Companies Home Search Profile

Python Programming: Build a Recommendation Engine in Django

Focused View

Justin Mitchel

9:35:27

309 View
  • 1 - Welcome to Recommender.mp4
    02:45
  • 2 - Requirements InDepth Walkthrough.mp4
    15:34
  • 2 - celery with django blog post.zip
  • 2 - course code on github.zip
  • 2 - justinmitchel on twitter.zip
  • 2 - live demo limited features.zip
  • 2 - public discussion forum.zip
  • 2 - youtube channel.zip
  • 3 - Where to get help.mp4
    02:00
  • 4 - Setup Project.mp4
    09:57
  • 5 - Django as a ML Pipeline Orchestration Tool.mp4
    02:58
  • 6 - Generate Fake User Data.mp4
    06:38
  • 7 - Django Management Command to add Fake User Data.mp4
    11:27
  • 8 - Our Collaborative Filtering Dataset.mp4
    07:50
  • 9 - Load The Movies Dataset into the Movie Django Model.mp4
    13:06
  • 10 - Create Ratings Model with Generic Foreign Keys.mp4
    13:29
  • 11 - Calculate Average Ratings.mp4
    12:37
  • 12 - Generate Movie Ratings.mp4
    14:40
  • 13 - Handling Duplicate Ratings with Signals.mp4
    14:00
  • 14 - Calculate Movie Average Rating Task.mp4
    12:07
  • 15 - Setup Celery for Offloading Tasks.mp4
    15:22
  • 16 - Converting Functions into Celery Tasks.mp4
    16:35
  • 17 - Movie List Detail View URLs and Templates.mp4
    15:33
  • 18 - Django AllAuth.mp4
    09:23
  • 19 - Update the Movie Ratings Task.mp4
    16:55
  • 20 - Rendering Rating Choices.mp4
    08:20
  • 21 - Display a Users Ratings.mp4
    18:05
  • 22 - Dynamic Requests with HTMX.mp4
    15:50
  • 23 - Rate Movies Dynamically with HTMX.mp4
    16:16
  • 24 - Infinite Rating Flow with Django HTMX.mp4
    14:14
  • 25 - Rating Dataset Exports Model Task.mp4
    23:33
  • 26 - Using Jupyter with Django.mp4
    07:50
  • 27 - Load Real Ratings to Fake Users.mp4
    15:29
  • 28 - Update Movie Data.mp4
    29:39
  • 29 - Recommendations by Popularity.mp4
    16:27
  • 30 - What is Collaborative Filtering.mp4
    13:14
  • 31 - Collaborative Filtering with Surprise ML.mp4
    09:50
  • 32 - Surprise ML Utils Celery Task For Surprise Model Training.mp4
    24:58
  • 33 - Batch User Prediction Task.mp4
    15:22
  • 34 - Storing Predictions in our Suggestion Model.mp4
    14:43
  • 35 - Updating Batch Predictions Based on Previous Suggestions.mp4
    13:54
  • 36 - MLBased Movies Recommendations View.mp4
    17:58
  • 37 - Trigger ML Predictions Per User Activity.mp4
    09:55
  • 38 - Position Ranking for Movie Querysets.mp4
    10:44
  • 39 - Movie Embedding Idx Field and Task.mp4
    12:31
  • 40 - Movie Dataset Exports.mp4
    17:31
  • 41 - Schedule for ML Training ML Inference Movie IDX Updates and Exports.mp4
    12:50
  • 42 - Overview of a Neural Network Colab Filtering Model.mp4
    21:01
  • 43 - Thank you and next steps.mp4
    02:17
  • Description


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

    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!

    Who is this for?


  • Beyond the basics Django Developers (ie you completed a Try Django course)
  • Anyone interested in building powerful ML-heavy Web Applications
  • Anyone looking to learn about Python Celery for Worker processes
  • Anyone interested in building workflows that need to run along side of Django.
  • More details


    Description

    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)


    Who this course is for:

    • Beyond the basics Django Developers (ie you completed a Try Django course)
    • Anyone interested in building powerful ML-heavy Web Applications
    • Anyone looking to learn about Python Celery for Worker processes
    • Anyone interested in building workflows that need to run along side of Django.

    User Reviews
    Rating
    0
    0
    0
    0
    0
    average 0
    Total votes0
    Focused display
    Category
    Justin Mitchel
    Justin Mitchel
    Instructor's Courses
    It all started with an idea. I wanted freedom... badly. Freedom from work, freedom from boredom, and, most of all, the freedom to choose. This simple idea grew to define me; it made me become an entrepreneur.              As I strived to gain freedom, overtime I realized that with everything that you do you can either (1) convince someone, somehow, to do it with you or (2) figure out how to do it yourself.                Due to a lack of financial resources (and probably the ability to convince people to do high quality work for free), I decided to learn. Then learn some more. Then some more. My path of learning website design started a long time ago. And yes, it was out of need not desire. I believed I needed a website for a company that I started. So I learned how to do it. The company died, my skills lived on... and got better and better.                It took me a while after learning web design (html/css) to actually start learning programming (web application, storing "data", user logins, etc). I tinkered with Wordpress, believing it could be a "user" site, but I was mistaken. Sure there are/were hacks for that, but they were hacks/work-arounds and simply not-what-wordpress-was-indended-to-be. Wordpress is for blogs/content. Plain and simple.                I wanted more. I had a web application idea that I thought would change the way restaurants hire their service staff. I tested it with my basic html/css skills, had great initial results, and found a technical (programmer) cofounder as a result. He was awesome. We were featured on CNN. Things looked great.                Until... cash-flow was a no-flow. Business? I think not. More like an avid hobby. We had the idea for a business just no business. Naturally, my partner had to find a means of income so I was left with the idea on its own.                Remember how I said everything we do has 2 choices. Well I tried the convincing. Now it was time to try the learning. I opted to learn and haven't looked back since. I tried almost every language out there: PHP, Ruby on Rails, SQL, Objective C, C++, Java, Javascript. I was lost.                Then, I tried Python. I was hooked. It was so easy. So simple. So elegant.                Then, I tried Django. Even more hooked. Made from python & made for web applications. It powers Instagram & Pinterest (two of the hottest web apps right now?).                Then, I tried Bootstrap. Simple and easy front-end design (html & css) that is super easy to use, mobile-ready, and overall... incredible.              Python, Django, and Bootstrap are truly changing the way the world builds web applications. I believe it's because of the simplicity to learn, the sheer power behind them, and, most of all, the plethora of resources to aid anyone in building their web projects (from packages to tutorials to q&a sites).              I relaunched my original venture with my new found skills. That wasn't enough. It didn't compel me as it once had. I started imagining all the possibilities of all the ideas I've always wanted to implement. Now I could. Which one to start with? There were so many good ideas...              Then another idea, a new & fresh idea, started brewing. I started to believe in the power of learning these skills. What would it mean if other non-technical entrepreneurs could learn? What would it mean if ideas were executed quickly, revenue models proven, all prior to approaching the highly sought-after programmers? What would it mean if entrepreneurs became coders?              And so. Coding for Entrepreneurs was born.                Here are some bio highlights:  Adjunct Professor of Entrepreneurship at the Lloyd Greif Center for Entrepreneurial Studies in the Marshall School of Business at the University of Southern CaliforniaBestselling instructor on UdemyFunded creator on KickstarterFounder of Coding For EntrepreneursCohost of Backer Radio
    Students take courses primarily to improve job-related skills.Some courses generate credit toward technical certification. Udemy has made a special effort to attract corporate trainers seeking to create coursework for employees of their company.
    • language english
    • Training sessions 43
    • duration 9:35:27
    • Release Date 2023/03/16