CS Technical Workshop "Recommendation Systems in Python" By: Shaghayegh Sadeghi

Tuesday, October 3, 2023 - 14:30
The School of Computer Science Presents...
Recommendation Systems in Python
Technical Workshop

Presenter:  Shaghayegh Sadeghi

Date: Tuesday, October 3rd at 2:30 pm 

Location: 4th Floor (Workshop space) at 300 Ouellette Avenue (School of Computer Science Advanced Computing Hub)


In this workshop, students will learn everything they need to know to create their own recommendation engine. Through hands-on exercises, students will get to grips with the two most common systems, collaborative filtering, and content-based filtering. Next, students will learn how to measure similarities like the Jaccard distance and cosine similarity, and how to evaluate the quality of recommendations on test data using the root mean square error (RMSE).

By the end of this course, students will have built their very own movie recommendation engine and be able to apply their Python skills to create these systems for any industry.


Workshop Outline:

Introduction to Recommendation Engines

What are recommendation engines?

• Recommendation engines vs. predictions

• Identifying the correct data for recommendation engines

• Implicit vs. explicit data

Non-personalized recommendations

• Introduction to non-personalized recommendations

• Improved non-personalized recommendations

• Combining popularity and reviews

Personalized suggestions

• Finding all pairs of movies

• Counting up the pairs

• Making your first movie recommendations

Content-Based Recommendations

• Intro to content-based recommendations

• Why use content-based models?

• Creating content-based data

• Understanding the content-based data

Making content-based recommendations

• Comparing individual movies with Jaccard similarity

• Comparing all your movies at once

• Making recommendations based on movie genres

Text-based similarities

• Instantiate the TF-IDF model

• Creating the TF-IDF DataFrame

• Comparing all your movies with TF-IDF

• Making recommendations with TF-IDF

User profile recommendations

• Build the user profiles

• User profile-based recommendations


Knowledge of Supervised Learning with scikit-learn and pandas


Shaghayegh is a Ph.D. student at the School of Computer Science (University of Windsor). Her main research interest is in biological network embedding.