/hybrid_recommender

In this project, we aim to build a hybrid recommender system using both item-based and user-based collaborative filtering methods to make personalized movie recommendations for a given user

Primary LanguageJupyter Notebook

Hybrid Recommender System

Business Problem

In this project, we aim to build a hybrid recommender system using both item-based and user-based collaborative filtering methods to make personalized movie recommendations for a given user. We will provide 5 movie recommendations from the user-based model and 5 movie recommendations from the item-based model, resulting in a total of 10 movie recommendations for the user.

Dataset

We have two datasets: movie.csv and rating.csv.

movie.csv: This dataset contains movie information, including movieId, movie title, and movie genres.

rating.csv: This dataset contains user ratings for movies, including userId, movieId, rating, and timestamp.

Task 1: Data Preparation

In this task, we will prepare the data for building the recommender system.

Task 2: Movie Recommendations for a Specific User

In this task, we will recommend movies for a randomly selected user.

Task 3: Obtaining Data and IDs of Users Watching the Same Movies

In this task, we will obtain data and user IDs of users who have watched the same movies as the selected user.

Task 4: Identifying Users Most Similar to the Target User

In this task, we will identify users most similar to the target user based on the movies they have watched and their ratings.

Task 5: Calculating Weighted Average Recommendation Scores and Selecting the Top 5 Movies

In this task, we will calculate the weighted average recommendation scores for movies and select the top 5 movies to recommend to the user.

Task 6: Item-Based Recommendation

In this task, we will make item-based movie recommendations based on the last watched and highest-rated movie of the user.

Note: The code blocks have been omitted to keep the content concise. For detailed implementation and code, please refer to the corresponding Python script.

Please note that this README provides an overview of the project tasks without showing the actual code implementation. For the full implementation, please refer to the actual Python script.