mirugwe1/Recommendation-Systems
The goal of this project was to build recommender systems that predict the rating a user will give to a book and also recommends books to users that they might enjoy, based on their past book evaluations using content-based systems i.e. item-based collaborative filtering, user-based collaborative filtering, and matrix factorization. The accuracy of the matrix factorization recommender system was assessed using cross-validation. These content-based systems recommend books to users based on the cosine similarity distance between books or users. In User-Based Collaborative Filtering (UBCF), books are recommended assuming that users with similar preferences will rate books similarly. In Item-Based Collaborative Filtering (IBCF), the presumption is that users will prefer books that are similar to other items they like. Information about users and books was stored in a matrix that was modeled and used to make predictions (the recommendations). The matrix factorization recommender system assessed to find the influence of adding L2 Regularization and bias to it. And it was found that L2 regularization did not improve the performance of the model while adding the bias greatly improved the performance and the lowest RMSE of **0.033** was registered. Finally, a model that ensembles the predictions from UBCF, IBCF, and matrix factorization was created and evaluated using the RMSE.