One of the objectives of this assignment is to build the books recommender system to recommend the customers the books that they might purchase based on the popularity, customers’ preferences and other active customers which have similar purchase behaviours with the current customer. The types of books recommender system developed includes popularity based, content-based and user-based collaborative filtering. So, the customers can choose to get recommendations based on popularity, content-based filtering or user-based collaborative filtering
The popularity based books recommender system will recommend the books which are most rated by other active customers and popular to the customers as the books are preferred by most of the customers. For instance, the books recommender system will generate top 10 books based on the rating of the books and then recommend them to the customers. Also, the customers can input the authors’ name and publication year of the books they preferred, then the system will display the most rated books for them. Besides that, the content-based filtering books recommender system will get customers input for the title and their user ID. Then, the system will recommend the books that are similar to the title input by the customers or the book purchased by the customers in the past.
Moreover, the user-based collaborative filtering books recommender system will make use of Singular Value Decomposition (SVD) matrix factorization to predict the rating that will be given by the customer and generate recommendations. SVD matrix factorization will also be used to make recommendations by finding the books based on similarity between customers‘ preferences. Other than that, an euclidean distance model is applied to determine the similarity between the customers based on the ratings given by the customers in the past and generate recommendations based on the other customers which have the similar preferences.