Create a Book Recommendation System using Collaborative Filtering
Abstract
One of the most important applications of data science is the recommendation system. Every organization requires a good recommendation system to express a large range of items. This research focuses on the creation of a book recommender system using collaborative filtering.
1. Introduction
The recommendation engine is defined as a machine learning (ML) class that offers the right suggestions or recommendations to the user or organization. The recommendation system helps the user or the company to create a trust for the services and products. These systems are classified into collaborative filtering (CF), content-based filtering, and a combination of both. The book recommendation system recommends the books to the readers based on their styles and interests. The online sites use book recommenders that provide several electronic book categories [1, 2]. This research focuses on the creation of a book recommender using the CF approach.
2. Book Recommender using CF
This session focuses on developing a powerful book recommender using the CF approach [3, 4, 5, 6, 7, 8]. The datasets are taken from the URLs:
- https://www.kaggle.com/datasets/rxsraghavagrawal/book-recommender-system
- https://thecleverprogrammer.com/2020/05/23/book-recommendation-system-with-machine-learning/
The datasets are BX-Users, BX-Books.csv and BX-Book-Ratings.csv. These consists of the fields: book-title, publication year, publisher, user id (users), ISBN (books), and book-rating.
The steps in the creation of the book recommender are as follows:
- Import the necessary libraries and load the datasets.
- Remove the unnecessary columns and rename the required columns.
- Check the reliability of the dataset using the command: books.head()
- Apply the matrix factorization for the CF.
- Create the matrix with users as columns, books as indices, and values as ratings.
- Consider the users who rated at least 250 books and book ratings as 50 for each user.
- Perform the exploratory data analysis using ratings['user_id'].value_counts().
- Get the users those who rated at least 250 books.
- Combine the ratings with the books.
- Filter the books with ratings of at least 50.
- Define the pivot table with users as columns, books as indices, and values as ratings.
- Develop the model using KNN training and convert the pivot entries into spare form.
- Apply the nearest neighbor and check the top 10 books.
The performance measures are shown in figure 1 and the sample recommendations using the KNN model are shown in Figure 2.
3. Conclusions & Future Work
References
- S. Shaikh, S. Rathi and P. Janrao, "Recommendation System in E-Commerce Websites: A Graph Based Approached," 2017 IEEE 7th International Advance Computing Conference (IACC), 2017, pp. 931-934, doi: 10.1109/IACC.2017.0189.[CrossRef]
- P. Li and Z. Hong, “Book recommendation algorithm based on the interest and type factor for university,” Journal of Zhejiang university of technology, vol. 47, no. 4, pp. 425–429, 2019.
- P. Wang, “Research and practice of book recommendation system based on SNS,” Computer Applications and Software, vol. 29, no. 12, pp. 21–23, 2012.
- C. Liu, “Collaborative filtering hybrid recommendation algorithm based on improved biased and cluster user nearest neighbor,” Computer Applications and Software, vol. 38, no. 5, pp. 288–293, 2021.
- T. Huang, “Application research of collaborative filtering algorithm based on neighbor model,” Journal of Beijing Information Science and Technology University (Natural Science Edition), vol. 32, no. 4, pp. 90–94, 2017.
- Bhaskaran, S., Marappan, R. Design and analysis of an efficient machine learning based hybrid recommendation system with enhanced density-based spatial clustering for digital e-learning applications. Complex Intell. Syst. (2021). https://doi.org/10.1007/s40747-021-00509-4[CrossRef]
- Bhaskaran, S.; Marappan, R.; Santhi, B. Design and Analysis of a Cluster-Based Intelligent Hybrid Recommendation System for E-Learning Applications. Mathematics 2021, 9, 197. https://doi.org/10.3390/math9020197[CrossRef]
- Bhaskaran, S.; Marappan, R.; Santhi, B. Design and Comparative Analysis of New Personalized Recommender Algorithms with Specific Features for Large Scale Datasets. Mathematics 2020, 8, 1106. https://doi.org/10.3390/math8071106[CrossRef]
- Marappan, R., Sethumadhavan, G. Solving Graph Coloring Problem Using Divide and Conquer-Based Turbulent Particle Swarm Optimization. Arab J Sci Eng (2021). https://doi.org/10.1007/s13369-021-06323-x[CrossRef]
- Marappan, R.; Sethumadhavan, G. Complexity Analysis and Stochastic Convergence of Some Well-known Evolutionary Operators for Solving Graph Coloring Problem. Mathematics 2020, 8, 303. https://doi.org/10.3390/math8030303[CrossRef]
- Marappan, R., Sethumadhavan, G. Solution to Graph Coloring Using Genetic and Tabu Search Procedures. Arab J Sci Eng 43, 525–542 (2018). https://doi.org/10.1007/s13369-017-2686-9[CrossRef]
- R. Marappan and G. Sethumadhavan, "A New Genetic Algorithm for Graph Coloring," 2013 Fifth International Conference on Computational Intelligence, Modelling and Simulation, 2013, pp. 49-54, doi: 10.1109/CIMSim.2013.17.[CrossRef]
Copyright
© 2024 by author and Scientific Publications. This is an open access article and the related PDF distributed under the Creative Commons Attribution License which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Article Metrics
If you find this article cited by other articles, please click the button to add a citation.