Recommendation systems are one of the major systems in today's time which helps to increase sales for business and increase comfort for people. In this project I have built a collaborative filtering based recommender system using the surprise library to recommend films. A basic analysis of the dataset was done, and necessary and unnecessary features were identified. KNNBasic was chosen as the basic model to find the best hyperparameters, all other models were compared in the basic set. The main metric was RMSE to show large errors in case of strong differences. Algorithms for training, finding the top best recommendations and comparing models on different metrics were implemented.
Graphs from plotly.express may not be displayed on github.
all requirements for google collab in requirements.txt
main:
- kaggle API token
- fastai==2.7.13
- kaggle==1.5.16
- keras==2.14.0
- plotly==5.15.0
- scikit-surprise==1.1.3
- scipy==1.11.3
Dataset rating
- userId : unique id for each user who made an evaluation
- movieId : unique id of the movie that was rated by the user
- rating : rating for the corresponding movie by the corresponding user
- timestamp : time of the rating
Dataset movies
- movieId : unique id of the movie
- title : movie title with release date
- genres : list of genres for corresponding movie
dataset: https://www.kaggle.com/datasets/gargmanas/movierecommenderdataset
main_library (suprise): https://surprise.readthedocs.io/en/stable/index.html